我有一类具有Daemon
类型的对象列表。
class Xyz {
List<Daemon> daemons;
}
我的spring配置看起来像这样。
<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:
通过将注释添加到需要该类型数组的字段或方法中,还可以从ApplicationContext提供特定类型的所有bean:
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机制自动排序。
问题内容: 我有一类具有类型的对象列表。 我的弹簧配置看起来像这样。 现在,可以在列表中自动自动连接所有类型的bean,而不是显式连接列表中的每个守护程序实现。我要解决的问题是,如果有人创建了类的新实现的bean,却忘记将其连接到列表中。 我已经在stackoverflow上的某个地方看到了这个问题,但无法再次找到它。对此表示歉意。 问题答案: 它应该像这样工作(从您的XML中删除ArrayLis
使用Spring,可以通过接口类注入bean列表,如: 实现此接口的所有已定义bean都将出现在此列表中。 基于注释的方法对我来说是不可能的,因为服务类在一个模块中,不能有Spring依赖关系。 我需要通过xml配置从外部使用这种机制。 有人知道怎么解决这个问题吗? 编辑:此外,有不止一个Spring应用程序使用此服务。所以最好的解决方案是完全通过xml配置来处理这个szenario。然后,我可以
试图在SpringBoot应用程序中创建bean,但出现以下错误“无法自动连线。找不到“InstructionRepository”类型的bean” InstructionRepository在jar中用@Repository注解,是一个扩展Spring数据接口的接口 ScheduleProcessor是一种方法 当我尝试通过传递基本包值来添加@ComponentScan注释时,错误消失了,但是,
我想使用Jooq在postgres数据库中插入数据这是我的服务类 但是我有这个错误 无法自动连线。找不到“DSLContext”类型的bean。
问题内容: 我已经定义了一个接口及其一些实现,并且都用进行了注释。 然后,我通过以下方式将它们自动连接到我的应用中: 工人被列入列表的顺序取决于什么? 我怎样才能让更多的和(也实现)不带注释通过我被装配到同一个列表? 是否保留了xml 的顺序和xml 的顺序? 我是否可以依靠规则将工作人员A,B,C和D放入列表的顺序? 问题答案: 如果要在Spring注入的List中对这些依赖项进行排序,请使用@
我的问题是:我有一个基本接口和两个实现类。 服务类依赖于基本接口,代码如下: 而配置是这样的: 服务类依赖于基础接口,将决定通过某些业务逻辑自动连接哪个实现。代码是这样的: 这个想法引发了一个例外:无法自动连线。有多个bean属于类型。 虽然可以使用@Qualifier来解决这个问题,但在这种情况下,我不能选择dependencies类。 我试图阅读spring文档,它提供了一个基于,但我仍然对这