-
@ComponentScan 不添加包
类似于启动类只加了注解 @ComponentScan
@ComponentScan如果不添加扫描包,默认会扫描与配置了该注解类处于同一目录下的所有配置类(配置了@Service、@Controller、@Repository、@Component 等注解的类) -
@ComponentScan添加扫描包
@ComponentScan可以添加多个扫描包,也可以添加单个
如@ComponentScan({“com.mecapp.infocenter”,“com.mecapp.errorcode.aspectj”})
或@ComponentScan(“com.lenovo.mecapp.errorcode.aspectj”)
如上表示项目启动时扫描如上配置的包下的所有配置类,
此处需要注意:如果添加扫描包,则必须配置本工程需要扫描的包,因为默认如果不添加扫描包时,会自动扫描与配置该注解类处于同级目录的配置类,但如果添加了扫描包则只会扫描配置的包下的注解类,这时如果需要扫描其他工程中的包,而只添加了对应工程的包,未加本工程的扫描包,则本工程下的包不会自动扫描。这时启动会出现本工程的bean不会被扫描到的问题。
如上第一个配置了两个扫描包,第一个就是本工程的需要扫描的包(即本工程最上层的包),第二个则是扫描的其他工程的包。
以上都是个人的理解,如有不对请指正谢谢!