在我的spring上下文中,我正在为此服务bean(显式)创建服务bean和代理。两者都实现相同的接口。
我可以确保自动装配不能注入目标bean吗?
我希望能够将目标服务与@Resource或@Qualifier注释一起使用,但在自动装配时,它应始终是代理。
有什么想法吗?
答案 0 :(得分:2)
使用Primary注释。它将指示在自动装配时最好使用哪个bean。
希望这会有所帮助:)
答案 1 :(得分:0)
您可以将@Primary注释放在代理服务中,如下面:
@Primary
@Repository
public class ProxyOfSomeService implements SomeService
之后,当您在SomeService
字段上使用@Autowired注释时,ProxyOfSomeService
将由deafault注入。
但是当你需要真正的服务时,你可以像下面那样:
@Autowired
@Resource(name="someRealService")
private SomeService someService;
我认为这符合您的需求,谢谢!