您可以在 XML 中混合和匹配声明 bean 并使用 @Component/@Service/@Repository 注释它们。您可以在以 XML 声明的 bean 和使用 @Component/@Service/@Repository 注释的 bean 中使用 @Autowired。您可以使用 @Autowired 将 XML 中声明的 bean 注入到带注释的 bean 中,并将带注释的 bean 注入到 XML 中声明的 bean 中。
<context:annotation-config/> 仅支持使用@Autowired 对托管bean 进行依赖注入,以及其他一些功能。
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-annotation-config
<context:component-scan ... /> 启用 <context:annotation-config/> 启用的所有功能,此外还支持@Component/@Service/@Repository 等等。通常你只需要使用<context:component-scan/>。
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-classpath-scanning
“非托管”bean 是既没有在 XML 中声明,也没有注释和扫描组件的 bean。您显然可以尝试使用 Spring 将依赖项注入非托管 bean,使用 AOP 和 <context:spring-configured/>。有关更多信息,请参阅此处的文档:
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/aop.html#aop-atconfigurable