2
我想知道是否有可能使用注释复制代码这个XML和平:注射液ID在抽象类中的方法使用注释
<bean id="mobileRedirectController" class="uk.co.web.device.MobileRedirectController">
<property name="deviceUserAgent" ref="mobileUserAgent" />
</bean>
<util:set id="mobileUserAgent">
<value>Mobile</value>
<value>iPhone</value>
<value>...</value>
</util:set>
<bean id="tabletRedirectController" class="uk.co.web.device.TabletRedirectController">
<property name="deviceUserAgent" ref="tabletUserAgent" />
</bean>
<util:set id="tabletUserAgent">
<value>iPad</value>
<value>...</value>
</util:set>
和我的课都是这样(只有关我的问题的代码):
public class MobileRedirectController extends AbstractRedirectController {
}
public class TabletRedirectController extends AbstractRedirectController {
}
public abstract class AbstractRedirectController {
protected Set<String> deviceUserAgent = new HashSet<String>();
public void setDeviceUserAgent(Set<String> deviceUserAgent) {
this.deviceUserAgent = deviceUserAgent;
}
}
现在,如果我删除XML的豆实例,我有这样的事情:
<util:set id="mobileUserAgent">
<value>Mobile</value>
<value>iPhone</value>
<value>...</value>
</util:set>
<util:set id="tabletUserAgent">
<value>iPad</value>
<value>...</value>
</util:set>
个
及其类别:
@Controller("mobileRedirectController")
public class MobileRedirectController extends AbstractRedirectController {
}
@Controller("tabletRedirectController")
public class TabletRedirectController extends AbstractRedirectController {
}
public abstract class AbstractRedirectController {
protected Set<String> deviceUserAgent = new HashSet<String>();
public void setDeviceUserAgent(Set<String> deviceUserAgent) {
this.deviceUserAgent = deviceUserAgent;
}
}
而现在我的问题,是有办法注入在tabletRedirectController相关的控制器mobileRedirectController和tabletUserAgent我的列表mobileUserAgent不从AbstractRedirectController代码移到MobileRedirectController和TabletRedirectController?
嗯好的,好主意的构造函数注入,并将其与'@资源(“mobileUserAgent”工程)''但不能用'@Autowire @Qualifier(“mobileUserAgent”),似乎我们不能用'@ Autowire'注入一个集合,你知道为什么这个限制吗? –
Spring版本<4中的IoC容器不支持基于泛型识别注入候选项。由于'@ Autowired'是分型的,这是一个问题。 '@ Resource'更适合通过名称/ id来引用bean。 [更多参考资料请阅读此文](http://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch04s11.html#beans-autowired- annotation-qualifiers) – Bart