一、什么是SpringBoot?
SpringBoot是一个快速开发框架,快速的将一些常用的第三方依赖整合(原理:通过Maven子父工程的方式),简化XML配置,全部采用注解形式,内置Http服务器(Jetty和Tomcat),最终以java应用程序进行执行。
二、SpringBoot核心原理
1> 基于SpringMVC无配置文件(纯Java)完全注解化+内置tomcat-embed-core实现SpringBoot框架,Main函数启动。
2> SpringBoot核心快速整合第三方框架原理:Maven继承依赖关系。
三、SpringBoot重点
3.1:快速整合第三方依赖:maven子父依赖关系。
springboot 通过引用spring-boot-starter-web依赖,整合SpingMVC框架。只需要引用一个jar包,就可以通过Maven继承的方式引用到Spring-aop,Spring-beans,Spring-core,Spring-web等相关依赖。
3.2:完全无配置文件(采用注解化)
springboot没有配置文件,如何进行初始化?
在没有web.xml配置文件的情况,通过java代码操作整个SpringMVC的初始化过程,java代码最终会生成class文件,内置Tomcat就会加载这些class文件,当所有程序加载完成后,项目就可以访问了。
@SpringBootApplication注解的启动类就可以运行,本质是因为它被@SpringBootApplication注解了,因此@SpringBootApplication注解的解析是发生的什么时候,由谁完成的呢?答案是发生在spring启动过程中对容器的初始化阶段,是由ConfigurationClassPostProcessor(容器后处理器)完成的。
spring boot所以能大量减少用户的配置工作量,特别是减少了配置集成第三方组件的工作量,如mybatis,hibernate,redis。是因为spring默认编写了很多配置类(被@Configuration注解的类),这些类位于autoconfig's jar里面。实现Boot的核心逻辑就是导入这些配置类,然后把它们转换成Bean定义对象。
网友评论