-2

Spring のドキュメントSpringBeanAutowiringInterceptorで説明されているように、EJB3 ステートレス セッション Bean でを使用しています。

@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 がこれを自動配線しようとすると、

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

残念ながら、EJB オートワイヤリングはデフォルトでbyTypeモードになっているようで、モードに変更する方法が見つかりませんbyName

これは可能ですか?

4

1 に答える 1

4

で試しましたQualifierか?

@Autowired
@Qualifier("myCustomService1")
    public void setMyCustomService2(MyService svc) {
    this.service = svc;
}    
于 2013-08-14T17:15:26.883 に答える