怎样在spring中类成员变量可按照条件自动装配

场景:

我有一个处理业务的类Aclass,其中属性是一个基于接口引用类型的成员变量Iclass ,基于接口Iclass的实现有两个Bclass implements Iclass 和Cclass implements Icalss,或者可能更多个,需要按照特定条件自动装配。

需要解决的问题是:

假如满足条件B时就装配Bclass 满足C条件时就装配Cclass,如果都满足 则优先Bclass,如果多个实现类也一样,所以大家可能会想到@Conditional,但好像没法解决这个问题。

目前的方案:

我注入了接口的所有实现,然后通过条件去遍历Iclass [] 拿到我想要的装配,然后再再业务逻辑中使用,如下

@Autowired
private Iclass [] imlpl;

个人感觉很别扭,可以有其他实现方案吗?求各位大佬帮忙

回答

你这个可以使用工程模式实现

以上是怎样在spring中类成员变量可按照条件自动装配的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>