Spring:默认选择bean

时间:2016-04-23 03:41:24

标签: java spring

项目Base

@Service
public class BeanDefault implements BeanBase {

}

public class App {
    @Autowired
    private BeanBase beanBase;
}

项目MyDerivedBase是maven中MyDerived的父级,还有许多其他派生项目):

@Service
public class MyBean implements BeanBase {

}

我希望课堂App使用MyBean而不会打扰其他项目(他们仍使用BeanDefault)。

我可以修改项目BaseMyDerived中的代码(无法修改其他派生项目的代码),所以如何做到这一点:

  • 应用BeanDefault当它是BeanBase
  • 的唯一合格bean时
  • 应用程序在我的项目中使用MyBean

我觉得有效:

@Service
@Primary
public class MyBean implements BeanBase {

}

但我想知道,这是一个好习惯吗?

1 个答案:

答案 0 :(得分:1)

只要使用// input var rectangles = [ ... ]; function dfs(a, group, n) { assignRectangleToGroup(a, n) group.push(a) rectangles.forEach(function (b) { if ( rectangleDoesntHaveGroup(b) && rectangleIntersects(a, b)) { dfs(b, group, n) } }) } function generateConvexPolygons() { var n = 0; var set = [] rectangles.forEach(function (a) { if (rectangleDoesntHaveGroup(a)) { var group = [] dfs(a, group, n) set.push(group) n += 1 } }) return set.map(function (group) { return convexHull(group) }) } 注释多个bean,就可以使用@Primary。您也可以使用@Primary

@Qualifier