gpt4 book ai didi

java - SpringBeanAutowiringInterceptor - 配置为按名称而不是按类型 Autowiring ?

转载 作者:行者123 更新时间:2023-12-01 18:44:51 26 4
gpt4 key购买 nike

我在 EJB3 无状态 session bean 中使用 SpringBeanAutowiringInterceptor,如 Spring documentation 中所述。 。

@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class) // Allows spring injection for its setter methods
public class MyClassImpl extends MyAbstractClass implements MyClass
{
....
@Autowired
public void setMyCustomService2(MyService svc) {
this.service = svc;
}

在 SpringConfig.xml 中:

<bean id="myCustomService1" class="...MyService"/>
<bean id="myCustomService2" class="...MyService"/>

当 Spring 尝试 Autowiring 时,我得到

No unique bean of type [...MyService ] is defined: 
expected single matching bean but found 2: [myCustomService1 , myCustomService2]

不幸的是,EJB Autowiring 似乎默认为 byType 模式,而我找不到将其更改为 byName 模式的方法。

这可能吗?如果可能的话,如何实现?

最佳答案

您是否尝试过使用限定符

@Autowired
@Qualifier("myCustomService1")
public void setMyCustomService2(MyService svc) {
this.service = svc;
}

关于java - SpringBeanAutowiringInterceptor - 配置为按名称而不是按类型 Autowiring ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com