在spring配置中,<context:component-scan>
支持base-package
属性来限制类路径搜索。但是,<context:annotation-config>
似乎没有类似的属性。更重要的是,组件扫描隐式启用了注释配置。但是,这似乎意味着通过在项目的一个包中启用组件扫描,我必须在整个项目中启用注释扫描。这是真的,如果是的话,可以避免吗?
答案 0 :(得分:1)
使用<context:component-scan base-package="com.org.pkg1"/>
并不意味着您
在整个项目中启用注释扫描
<context:component-scan>
也启用了<context:annotation-config>
,这是正确的。但后者只允许识别已注册的bean中的注释(无论它们来自扫描还是来自XML)。
回答你的问题:
这是真的,如果是的话,可以避免吗
没有
这是注释扫描的官方文档:
激活在bean类中检测的各种注释:Spring @Required和@Autowired,以及JSR 250的@PostConstruct, @PreDestroy和@Resource(如果可用),JAX-WS的@WebServiceRef(如果可用) 可用),EJB 3的@EJB(如果可用)和JPA的@PersistenceContext 和@PersistenceUnit