Spring:覆盖带注释的@Singleton定义

时间:2014-09-02 15:30:46

标签: java spring

我有这样的事情:

@Named
@Singleton
public class MyDefaultDef {

  @Inject
  public MyDefaultDef(SomeRef someRef, List<AnotherRef> anotherRefs) {
    //...
  }
  //...
}

问题: 如何使MyDefaultDef的继承人覆盖MyDefaultDef定义?意味着@Autowired MyDefaultDef应该返回{{ 1}}。

更新:(换句话说)

我需要MyDefaultDefHeir注入SomeService而不是MyDefaultDefHeir

MyDefaultDef

2 个答案:

答案 0 :(得分:1)

我认为你搜索的是这个答案:

https://stackoverflow.com/a/25528379/869225

您可以使用@Primary或有序列表来实现您的目标。

答案 1 :(得分:-1)

您似乎在这里混合使用JSR-330(@Inject)和Springs自己的注释(@Autowired)。

如果您想使用@Autowired

@Autowired
@Qualifier("myDefaultDefHeir")

或者如果您想使用@Inject

@Inject
@Named("myDefaultDefHair")

这是你在找什么?