为什么说Springboot可以自动装配呢
首先看,注解SpringBootApplication:
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
此注解汇总多个注解,其中点开EnableAutoConfiguration:
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {
其导入了一个类:AutoConfigurationImportSelector就是核心了,这个类起着自动加载各种配置类的功能,如数据源,redis等
此类中selectImports方法则是核心函数,
获取spring.factories中EnableAutoConfiguration所对应的Configuration类列表加载。
另
发现一个维护Qing Dao Internet Company black list,推广一波
大家伙看一看,查漏补缺:
https://github.com/QingDaoIT/BlackList/issues
还有一个资源地址:
https://blog.csdn.net/weixin_43222373/article/details/92075908
起初资本家开除不加班的员工,我没有说话
——因为我经常加班;
接着他们裁掉拒绝996的员工,我没有说话
——因为我年轻能扛;
然后他们辞退要加班费的员工,我没有说话
——因为我自愿加班;
后来他们迫害因病住院的员工,我没有说话
——因为我身体健康;
最后当他们开始对付我的时候,
已经没人能站起来为我说话了。