springboot注解部分:
1、@Configuration&与@Bean------>>>基于java代码的bean配置
2、@Conditional-------->>>>>>设置自动配置条件依赖
@ConditionalOnBean,仅在当前上下文中存在某个bean时,才会实例化这个Bean。
@ConditionalOnClass,某个class位于类路径上,才会实例化这个Bean。
@ConditionalOnExpression,当表达式为true的时候,才会实例化这个Bean。
@ConditionalOnMissingBean,仅在当前上下文中不存在某个bean时,才会实例化这个Bean。
@ConditionalOnMissingClass,某个class在类路径上不存在的时候,才会实例化这个Bean。
@ConditionalOnNotWebApplication,不是web应用时才会实例化这个Bean。
@AutoConfigureAfter,在某个bean完成自动配置后实例化这个bean。
@AutoConfigureBefore,在某个bean完成自动配置前实例化这个bean。
3、@EnableConfigurationProperties与@ConfigurationProperties->读取配置文件转换为bean,并将bean注入spring容器。
4、@EnableAutoConfiguration、@AutoConfigurationPackage 与@Import->实现bean发现与spring容器注入。
springboot自动配置过程(spi机制的实现):
1、项目启动时,@EnableAutoConfiguration注解去自动扫描主目录下所有包和jar包
2、AutoConfigurationImportSelector选择器会读取jar包中spring.factories文件内容并根据条件注解对自动配置类进行筛选
3、筛选完成后得到类的全路径 通过反射初始化对象,并使用@Import注入spring容器。
springboot核心:
1、Actuator:springboot程序监控器
2、自动装配:简单配置甚至零配置即可运行项目
3、starter:jar包的引入(依赖管理),解决jar版本冲突问题