首页  >  问答  >  正文

java - Spring Boot中@EnableAutoConfiguration和@ComponengScan有什么区别?

现在的新版spring boot中@SpringBootApplication已经等价于@Configuration, @ComponentScan, @EnableConfiguration。请问@EnableAutoConfiguration和@ComponengScan之间有什么区别?既然@EnableAutoConfiguration可以自动扫描路径下面的所有bean,那么@ComponentScan似乎就没有存在的必要了?

世界只因有你世界只因有你2713 天前818

全部回复(2)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-17 10:02:53

    1.@EnableAutoConfiguration 主要是用来开启自动配置是扫描jar包下,配置了META-INF/spring.factories里面的类和针对当前包以及子包下的自定义组件的(也就是归spring管理的)
    2.@ComponengScan是用来配置自定义组件的(也就是归spring管理的),可以指定base路径orBaseClass

    如果要加载的类不在@EnableAutoConfiguration下不会被加载,而且@ComponentScan为spring-context包下的类,是已经存在N久的用于在<context:component-scan>

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:02:53

    @ComponentScan 可以扫描你引入的jar里面的package

    回复
    0
  • 取消回复