我有两个spring beans,如下所示:
@Component("A")
@Scope("prototype")
public class A extends TimerTask {
@Autowired
private CampaignDao campaignDao;
@Autowired
private CampaignManager campManger;
A(){
init_A();
}
}
@Component("B")
@Scope("prototype")
public class B{
public void test(){
A a = new A();
}
}
当运行->类A中的spring bean为null时,我可以创建spring bean A的新实例并在其中仍然使用自动装配吗?
你的组件“ A”不是由Spring容器创建的,因此不会注入依赖项。但是,如果你需要支持一些旧代码(据我的问题理解),则可以使用@Configurable
注释和构建/编译时间编织:
@Configurable(autowire = Autowire.BY_TYPE)
public class A extends TimerTask {
// (...)
}
然后,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>
…以及依赖项部分:
<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>
我正在尝试使用new关键字创建一个组件的新实例。组件类有另一个类的自动布线。在第一类中,它有一个调用第二类的方法。代码如下: First.java 第二Java语言 一个pplication.java 我能够使用依赖注入来训练解决方案。我只是想这样做。 提亚
问题内容: from Tkinter import * import time #Tkinter stuff 我正在尝试创建一个配方显示,以在Tkinter GUI的屏幕上显示步骤,说明,重量和其他变量。 但是,我不知道如何根据配方的每个新步骤来更新GUI以进行更改,因为必须根据用户输入(从服务器获取)动态更新内容。如何根据步骤的更改实现GUI其他元素的更新? 问题答案: 您可以在(例如)1000
有没有办法在刷新Spring上下文后找出bean创建顺序(或至少依赖顺序)? 只要简单的bean定义顺序就可以了。我不想要他们注册的顺序。我想要创建它们的顺序(依赖关系树)
问题内容: Java 9最大的功能之一是Project Jigsaw定义的模块系统。当从JavaOne 2015 的Project Jigsaw:The Hood 中读取幻灯片时,我注意到以下源代码: 对我而言,有趣的是文件结尾,并且似乎使用了两个新关键字:和。Java 9将引入哪些其他关键字?向后兼容性(即名为的函数或变量)将如何处理? 问题答案: Java SE 9 Edition Java语
我是javaScript新手,现在不知道如何实现这一点。我的HTML中有带数字的“选择”。 当用户在此选择中选择数字时,js将创建用户选择的任意多个输入字段,如图中[ 如何做到这一点?
我知道字符串文字和新字符串对象之间的区别,也知道它在内部是如何工作的。但我的问题是,这有点超前。当我们使用new关键字as创建字符串对象时 在本例中,我们传递的是字符串类型的参数。我的问题是这个字符串是在哪里生成的-堆还是字符串常量池还是其他地方? 据我所知,这个参数是一个字符串文字,所以它应该在字符串常量池中。如果是这样的话,那么intern方法的用途是什么?只需将变量str链接到常量池?因为“