abd*_*ady 9 java spring dependency-injection java-ee
我有两个春豆如下:
@Component("A")
@Scope("prototype")
public class A extends TimerTask {
@Autowired
private CampaignDao campaignDao;
@Autowired
private CampaignManager campManger;
A(){
init_A();
}
}
Run Code Online (Sandbox Code Playgroud)
由于遗留代码,我必须用新关键字创建A的新对象
@Component("B")
@Scope("prototype")
public class B{
public void test(){
A a = new A();
}
}
Run Code Online (Sandbox Code Playgroud)
当运行 - >类A中的spring bean为null时,我可以创建一个Spring bean A的新实例并仍在其中使用自动装配吗?
omn*_*nom 15
您的组件"A"不是由Spring容器创建的,因此不会注入依赖项.但是,如果您需要支持一些遗留代码(我从您的问题中理解),您可以使用@Configurable
注释和构建/编译时间编织:
@Configurable(autowire = Autowire.BY_TYPE)
public class A extends TimerTask {
// (...)
}
Run Code Online (Sandbox Code Playgroud)
然后,Spring将向组件A注入自动连接的依赖项,无论它是否由容器本身实例化,或者它是否在某些遗留代码中实例化new
.
例如,要使用maven插件设置构建时编织,您必须:
<context:spring-configured/>
到Spring应用程序上下文在构建插件部分:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<complianceLevel>1.6</complianceLevel>
<encoding>UTF-8</encoding>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
<!--
Xlint set to warning alleviate some issues, such as SPR-6819.
Please consider it as optional.
https://jira.springsource.org/browse/SPR-6819
-->
<Xlint>warning</Xlint>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
...和依赖项部分:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Spring参考:http: //static.springsource.org/spring/docs/current/spring-framework-reference/html/aop.html#aop-atconfigurable
归档时间: |
|
查看次数: |
18647 次 |
最近记录: |