在我的spring上下文中,我正在为这个服务bean (显式地)创建一个服务bean和一个代理。两者都实现了相同的接口。
我能确保自动装配不能注入目标bean吗?
我希望能够使用带有@Resource或@Qualifier注解的目标服务,但在自动装配时,它应该始终是代理。
有什么想法吗?
发布于 2013-02-19 18:30:52
使用Primary注释。它将指示在自动装配时应优先使用哪个bean。
希望这能有所帮助:)
发布于 2013-02-25 02:06:43
您可以在您的代理服务中添加@Primary注释,如下所示:
@Primary
@Repository
public class ProxyOfSomeService implements SomeService在那之后,当你在SomeService字段上使用@Autowired注解时,ProxyOfSomeService将会被deafault注入。
但是当你需要真正的服务时,你可以像下面这样:
@Autowired
@Resource(name="someRealService")
private SomeService someService;我想这能满足你的需要,谢谢!
https://stackoverflow.com/questions/14358169
复制相似问题