SpringApplicaiton引导类的注解
来源:3-5 配置 Spring Boot Bean 源码部分

weixin_慕婉清1539122
2020-11-19
在2-9章节中,老师把ConditionalOnSystemProperty以及Bean注解加到helloWord上,但在引导类ConditionalOnSystemPropertyBootstrp上并没有加任何注解。在这种情况下SpringApplicaiton可以正常运行。为甚么在这节课里引导类上面一定要加上@Component或者其派生注解呢
写回答
1回答
-
杨勤_cd
2020-11-29
@ConditionalOnSystemProperty引导类不需要注解,是因为设置了.web(WebApplicationType.NONE),这种模式不需要web相关的bean被装配;
后面的需要@SpringBootApplication,是因为都是以servlet启动,需要自动装配web相关bean,这些bean存在于相关jar包的META-INF/xxx.factories,所以实际上只需要开启@EnableAutoConfiguration注解。而@SpringBootApplication是“继承”自@EnableAutoConfiguration注解的。
如果设置启动模式为WebApplicationType.NONE也是不需要在引导类加注解的。
如果设置启动模式为WebApplicationType.SERVLET需要开启EnableAutoConfiguration
--------------------------------
以上纯个人理解,仅供参考。
00
相似问题