pom.xml
spring-boot-dependencies:核心依赖在父工程中!
引入spring-boot,不需要指定版本,存在版本仓库
spring-boot的启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
@SpringBootApplication:标注这个类是一个springboot应用,启动类下所有资源被导入
我们点开@SpringBootApplication
@SpringBootConfiguration:spring-boot的配置
//点开SpringBootConfiguration
@Configuration:pring配置类
@Compnent:也是spring boot 的一个组件
@EnableAutoConfiguration:自动配置
@AutoConfigurationPackage:自动配置包
@Import({AutoConfigurationImportSelector.class}):自动配置导入选择器
超多的自动配置为什么没有生效,需要导入对应的start才能生效,因为注解@ConditionalOnXXX(核心注解):如果这里面的条件满足,配置才会生效。不导入@ConditionalOnXXX(核心注解)下回报红。
结论:所有的springboot配置都是在启动的时候扫描并加载:spring.factory ,所有的自动配置类都在spring.factory都在里面,
但是不一定生效,因为注解@ConditionalOnXXX,要判断它的条件是否成立,只需要导入对应的start,就有对应的启动器,我们自动装配生效,配置成功!!!!
springboot启动时,从类路径/MATA-INF/spring.factory获取指定值
然后将这些自动配置类导入容器,自动配置就会生效,进行自定配置
之前自配的东西,springboot帮我们做了
整合java ee,解决方案和自动配合的东西都在spring-boot-autoconfigure-2.2.0 Relesaes .jar包
需要的组件,以类名的方式返回,这些组件就会添加到容器中
原文:https://www.cnblogs.com/tianjin/p/13834396.html