例如存在接口 DemoService 和两个实现类 ProdDemoServiceImpl DevDemoServiceImpl.
profile 可以定义为 dev 或者 prod.
如何做到 profile 是dev的时候注入DevDemoServiceImpl prod的时候注入 ProdDemoServiceImpl。
我当前找到一个办法是:
@Resource(name="#{profile.profile eq 'dev' ? 'DevDemoServiceImpl' : 'ProdDemoServiceImpl'}")
private DemoService demoService;
我觉着这个注入的书写还是复杂了一点,有没有更好的办法。