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