使用Spring自动依赖注入

时间:2011-12-20 17:54:02

标签: java spring dependencies code-injection

我目前正在使用CDI(Weld)和tomcat 6作为servlet-container。在配置中使用WeldLifecycleListener,进行依赖注入非常简单。

我的问题是:是否有相当于Spring的WeldLifecycleListener来避免从ApplicationContext实例化bean?

2 个答案:

答案 0 :(得分:2)

在Spring 3中,您可以使用@Named@InjectJSR-330注释(请参阅http://blog.springsource.com/2009/09/29/spring-framework-3-0-rc1-released/)。

当您通过将以下内容添加到spring配置文件来启用组件扫描时,将自动检测并实例化带有@Named注释的类:

<context:component-scan base-package="${base-package}" />

其中${base-package}是包含所有组件的软件包(直接或在子包中)。

答案 1 :(得分:1)

我不确定WeldLifecycleListener但可以指出自动依赖注入

  1. 您可以在Spring配置文件中使用Spring bean中的autowire属性。阅读此here
  2. 您还可以使用@Autowired注释按类型进行自动装配,使用@Qualifier以及按名称查找bean。
  3. @Resource注释可用于按名称自动连线。

  4. 如果您不想在Spring配置中定义任何bean,请使用组件扫描自动检测组件并在bean上使用注释@Component - 此+ @ Autowire / @资源将简化您的配置。