SpringBoot核心原理:自动配置、事件驱动、Condition
1、Spring Boot框架的核心是自动配置。只要有相应的jar包,Spring就会帮助我们实现自动配置,而无需像以前我们使用spring框架一样要做很多配置。当默认配置不能满足我们要求的时候,我们能够用自己的配置来替换这些自动的配置类。
2、Spring Boot 的自动装配原理主要依赖于 Spring 框架提供的 @Configuration、@ComponentScan 和 @Conditional 等注解,配合 Spring Boot 提供的 @EnableAutoConfiguration 和 spring.factories 配置文件,来实现自动装配的功能。
3、Spring支持Java配置和XML配置,他们为应用程序开启了特定的特性和功能,SpringBoot实现了自动配置,可以减少配置负担。
springboot的简单理解
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
第一步:启动一个新的Spring Boot项目 利用启动.spring.io创建一个“网络”项目。在“依赖项”对话框中搜索并添加“web”依赖项,如屏幕截图所示。点击“生成”按钮,下载zip,然后将其解压缩到计算机上的文件夹中。
SpringBoot 是一个为了简化Java应用环境搭建和开发过程的一个框架。它比较方便的就是自动配置,不需要XML配置,在主配置类上打一个@SpringBootApplication标签就可以实现自动配置。
Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”这些应用程序。我们对 Spring 平台和第三方库采取了固执的观点,因此您可以轻松上手。
简单来说就是两点 SpringBoot项目的约定 SpringBoot创建完成后默认的配置文件是以properties为后缀名,SpringBoot支持将后缀名改为yml。
SpringBoot自动装配原理
1、springboot自动配置原理是基于条件判断来配置Bean。pring Boot的自动配置原理是基于Spring框架的条件化配置(Conditional Configuration)机制实现的。
2、Spring的自动装配是指通过Spring容器自动地将一个bean与另一个bean关联起来。Spring提供了三种自动装配方式:默认的byName自动装配:当一个bean的属性名称与其他bean的id相同时,Spring会自动将该bean引用到这些同名的bean中去。
3、SpringBoott自动装配原理主要解决了传统spring的重量级xml配置Bean.实现了自动装配;所以,我们也常在面试中被问到SpringBoot是如何实现自动装配。
4、 SpringBoot的自动装配是指:SpringBoot会自动将一些配置类的bean注册到ioc容器,我们可以在需要的地方使用@Autowired或@Resource等注解来使用它。
5、SpringBoot自动装配是springboot重要的功能点。Boot系列、其它框架与Boot的整合很多是基于自动装配的。
6、直接在application.yml配置下就行了 这个例子虽然很简单,但是说明了自动配置的工作原理,spring内置的自动配置虽然复杂,但原理都一样的。
SpringBoot运行原理
1、springBoot的启动可以分为两个部分,第一部分:SpringApplication的实例化;第二部分:调用该实例运行run方法(springboot初始化)。
2、配置 spring.factories ,通过该配置,才能让springboot来自动加载我们的Configuration类。具体原理我们稍后深入了解。具体的,是在模块的 resources/META-INF 目录下,新建 spring.factories 文件。
3、Spring boot 整合了web 和batch ,但是他们肯定不是同一条路, 在spring boot 中,会推断当前的运行环境。
4、Spring Boot 的自动装配原理主要依赖于 Spring 框架提供的 @Configuration、@ComponentScan 和 @Conditional 等注解,配合 Spring Boot 提供的 @EnableAutoConfiguration 和 spring.factories 配置文件,来实现自动装配的功能。
5、同时,我试了下,直接运行application类的话,是找不到主类的:因为在文件目录中,JarlearnApplication实际上是在META-INF/maven/... 中的,所以会找不到。
6、方法/步骤 SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration。请点击输入图片描述 EnableAutoConfiguration的作用是利用AutoConfigurationImportSelector给容器中导入一些组件。