现在的新版spring boot中@SpringBootApplication
已经等价于@Configuration, @ComponentScan, @EnableConfiguration。请问@EnableAutoConfiguration和@ComponengScan之间有什么区别?既然@EnableAutoConfiguration可以自动扫描路径下面的所有bean,那么@ComponentScan似乎就没有存在的必要了?
现在的新版spring boot中@SpringBootApplication
已经等价于@Configuration, @ComponentScan, @EnableConfiguration。请问@EnableAutoConfiguration和@ComponengScan之间有什么区别?既然@EnableAutoConfiguration可以自动扫描路径下面的所有bean,那么@ComponentScan似乎就没有存在的必要了?
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答12.8k 阅读
2 回答11.3k 阅读
2 回答5.2k 阅读✓ 已解决
1 回答3.6k 阅读
1 回答2.6k 阅读
1.@EnableAutoConfiguration 主要是用来开启自动配置是扫描jar包下,配置了META-INF/spring.factories里面的类和针对当前包以及子包下的自定义组件的(也就是归spring管理的)
2.@ComponengScan是用来配置自定义组件的(也就是归spring管理的),可以指定base路径orBaseClass
如果要加载的类不在@EnableAutoConfiguration下不会被加载,而且@ComponentScan为spring-context包下的类,是已经存在N久的用于在<context:component-scan>