Spring Boot2.0之纯手写框架

框架部分重点在于实现原理,懂原理!

废话不多说,动手干起来!

SpringMVC程序入口?

没有配置文件,Spring 容器是如何加载?

回顾我们之前搭建Spring Boot项目使用的pom 引入的依赖需要parent,其作用是支持依赖 快速整合框架 不需要写版本号

还有就是web组件,自动引入springmvc spring-web spring-beans  等等都依赖进来了

SpringBoot是一个快速整合第三方框架,简化XML配置,完全采用注解、内置HTTP服务器(tomcat、jetty),最终是以Java应用程序进行执行

SpringBoot快速开发框架 快速整合第三方框架

Spring Cloud才是微服务框架

SpringCloud 底层依赖SpringBoot 实现微服务接口(SpringBoot Web组件集成Spring MVC)采用Spring MVC书写接口     玩的是maven哈哈哈哈哈

分析Springboot原理:

1、快速整合第三方  原理:Maven父子工程,已来过来的。     依赖关系 比如web组件 Springboot 整合 Spring mvc

2、采用注解化

如何初始化呢?

传统web项目通过web.xml

注解是在什么时候产生呢?spring3.0以上

Spring MVC内置注解加载整个SpringMVC容器  @EnableWebMvc 等同于xml文件的一些配置

Java语言操作Spring MVC配置初始化

使用Java代码编写SpringMVC配置初始化过程

3、内置Http服务器

Java语言创建Tomcat容器,执行class文件。

 

原文地址:https://www.cnblogs.com/toov5/p/9823728.html

时间: 2024-11-05 21:37:33

Spring Boot2.0之纯手写框架的相关文章

纯手写SpringBoot框架之注解方式启动SpringMVC容器

使用Java语言创建Tomcat容器,并且通过Tomcat执行Servlet,接下来,将会使用Java语言在SpringBoot创建内置Tomcat,使用注解方式启动SpringMVC容器. 代码实现.1.pom.xml文件,需要依赖的jar包. <dependencies> <!--Java语言操作Tomcat--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <arti

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件

vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源占用少,无依赖,多平台的javascript滚动插件.iScroll不仅仅是 滚动.它可以处理任何需要与用户进行移动交互的元素.在你的项目中包含仅仅4kb大小的iScroll,你的项目便拥有了滚动,缩放,平移,无限滚动,视差滚动,旋转功能.iScroll的强大毋庸置疑,本人也非常欢迎大家使用iScr

纯手写wcf代码,wcf入门,wcf基础教程

<pre name="code" class="cpp">/* 中颖EEPROM,使用比较方便,但有个注意点,就是每次无论你写入 什么数据或者在哪个地址写数据,都需要将对 对应的块擦除,擦 除后才能写入成功. */ #define SSPWriteFlag 0x5A #define SSPEraseFlag 0xA5 //数据区 扇形区1 #define ADDR_START1 (uint16)0x100 //数据存储区起始地址 #define ADDR

springmvc 动态代理 JDK实现与模拟JDK纯手写实现。

首先明白 动态代理和静态代理的区别: 静态代理:①持有被代理类的引用  ② 代理类一开始就被加载到内存中了(非常重要) 动态代理:JDK中的动态代理中的代理类是动态生成的.并且生成的动态代理类为$Proxy0 静态代理实例1.创建一个接口: package proxy; public interface People { public void zhaoduixiang()throws Throwable; } 2.创建一个实现类,张三,张三能够吃饭,张三可以找对象 package proxy;

SQL纯手写创建数据库到表内内容

建表啥的只点点鼠标,太外行了,不如来看看我的纯手写,让表从无到有一系列:还有存储过程临时表,不间断的重排序: 一:建数据库 1create Database Show 2 on 3 primary 4 ( 5 name= Show_data , 6 filename= 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Show.mdf' , 7 size=10MB, 8 maxsize=UNLIMITED,

简易-五星评分-jQuery纯手写

超级简单的评分功能,分为四个步骤轻松搞定: 第一步: 引入jquery文件:这里我用百度CDN的jquery: <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> 第二步: 写HTML代码:这里的星星我用的是符号的星星,也可以做成图片,用2张背景图片进行切换: 1 <div class="score_star"> 2 <i

Spring Boot2.0之热部署原理

所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署 原理: 实用类加载器(classloader重新读取字节码文件到jvm内存) 如何纯手写一个热部署功能: 1.监听 class文件是否发生改变  版本号.修改时间  作对比 2.如果发生改变就用classloader进行重新读取 热部署要是用在生产环境,性能很差了.不安全! 热部署用在本地开发(eclipse idea)用来提高效率 Spring Boot使用 devtools做热部署 有些工具是有热部署的功能的 修改

qt之旅-1纯手写Qt界面

通过手写qt代码来认识qt程序的构成,以及特性.设计一个查找对话框.下面是设计过程 1 新建一个empty qt project 2 配置pro文件 HEADERS += Find.h QT += widgets SOURCES += Find.cpp main.cpp 3 编写对话框的类 代码如下: //Find.h #ifndef FIND_H #define FIND_H #include <QDialog> class QCheckBox; class QLabel; class QL

透彻理解Spring事务设计思想之手写实现

前言 事务,是描述一组操作的抽象,比如对数据库的一组操作,要么全部成功,要么全部失败.事务具有4个特性:Atomicity(原子性),Consistency(一致性),Isolation(隔离性),Durability(持久性).在实际开发中,我们对事务应用最多就是在数据库操作这一环,特别是Spring对数据库事务进行了封装管理.Spring对事务的支持,确实很强大,但是从本质上来讲:事务是否生效取决数据库底层是否支持(比如MySQL的MyISAM引擎就不支持事务,Spring能奈何!),同时一