我有一类具有Daemon
类型的对象列表。
class Xyz {
List<Daemon> daemons;
}
我的弹簧配置看起来像这样。
<bean id="xyz" class="package1.Xyz">
<property name="daemons" ref="daemonsList">
</bean>
<bean id="daemon1" class="package1.DaemonImpl1"/>
<bean id="daemon2" class="package1.DaemonImpl2"/>
<bean id="daemonsList" class="java.util.ArrayList">
<constructor-arg>
<list>
<ref bean="daemon1" />
<ref bean="daemon2" />
</list>
</constructor-arg>
</bean>
现在,可以Daemon
在列表中自动自动连接所有类型的bean,而不是显式连接列表中的每个守护程序实现。我要解决的问题是,如果有人创建了Daemon
类的新实现的bean,却忘记将其连接到列表中。
我已经在stackoverflow上的某个地方看到了这个问题,但无法再次找到它。对此表示歉意。
它应该像这样工作(从您的XML中删除ArrayList bean):
public Class Xyz {
private List<Daemon> daemons;
@Autowired
public void setDaemons(List<Daemon> daemons){
this.daemons = daemons;
}
}
我认为没有办法在XML中做到这一点。
请参阅:
3.9.2。@Autowired
和@Inject
:
public class MovieRecommender {
@Autowired
private MovieCatalog[] movieCatalogs;
// ...
}
同样适用于类型化的集合:
public class MovieRecommender {
private Set<MovieCatalog> movieCatalogs;
@Autowired
// or if you don't want a setter, annotate the field
public void setMovieCatalogs(Set<MovieCatalog> movieCatalogs) {
this.movieCatalogs = movieCatalogs;
}
// ...
}
顺便说一句,从Spring 4.x开始,这些列表可以使用@Ordered
机制自动排序。
问题内容: 我有一类具有类型的对象列表。 我的spring配置看起来像这样。 现在,可以在列表中自动自动连接所有类型的bean,而不是显式连接列表中的每个守护程序实现。我要解决的问题是,如果有人创建了类的新实现的bean,却忘记将其连接到列表中。 我已经在stackoverflow上的某个地方看到了这个问题,但无法再次找到它。对此表示歉意。 问题答案: 它应该像这样工作(从你的XML中删除Arra
使用Spring,可以通过接口类注入bean列表,如: 实现此接口的所有已定义bean都将出现在此列表中。 基于注释的方法对我来说是不可能的,因为服务类在一个模块中,不能有Spring依赖关系。 我需要通过xml配置从外部使用这种机制。 有人知道怎么解决这个问题吗? 编辑:此外,有不止一个Spring应用程序使用此服务。所以最好的解决方案是完全通过xml配置来处理这个szenario。然后,我可以
问题内容: 我已经定义了一个接口及其一些实现,并且都用进行了注释。 然后,我通过以下方式将它们自动连接到我的应用中: 工人被列入列表的顺序取决于什么? 我怎样才能让更多的和(也实现)不带注释通过我被装配到同一个列表? 是否保留了xml 的顺序和xml 的顺序? 我是否可以依靠规则将工作人员A,B,C和D放入列表的顺序? 问题答案: 如果要在Spring注入的List中对这些依赖项进行排序,请使用@
我不确定我的代码出了什么问题。我正在学习弹簧靴。但我无法运行应用程序,因为我得到以下错误 模型类 主类:
我正在使用Swing和Spring创建一个金融应用程序。在应用程序的一部分中,我有一个,其中包含应用程序中每个的。单击时,我希望在中显示类型的。这都是在下面的控制器中执行的。 会为每个点击更改,因此我将设置为一个原型bean,因此我将为每个帐户接收一个新实例。为了使原型作用域工作,我需要使用。以下是代码: 您将注意到我试图自动连接类型的bean。但是,该bean没有正确地自动连接,它是空的。以下是
我在创建带有参数的@Bean时遇到问题,这运行得很好,但在intelliJ中,它给出的错误无法自动连线。找不到“String”类型的bean。 我要做什么?我正在尝试创建具有原型作用域的bean,在IntelliJ“无法自动连线。未找到‘String’类型的bean”中出现此错误有谁能帮我解决这个问题吗 这是原型测试的类