我有一个由 spring 在 applicationContext.xml 上注入(inject)的类,我需要更改该实现而不更改 applicationContext.xml。
我听说过 AOP“IntroductionInterceptor”,但我没有发现很多有用的结果。
有人可以帮助我吗?
PS。抱歉我的英语不好,希望能理解。最佳答案
解决问题的一种方法是应用 service locator pattern 。 您不是直接注入(inject) bean,而是注入(inject)一个可以返回不同实现的 ServiceLocator。
//ServiceLocator bean
public Class ServiceLocator {
@Resource(name="service1")
private Service service1;
@Resource(name="service1")
private Service Service2;
public Service getService(String service) {
return ... //service
}
}
关于java - 我可以在运行时更改spring注入(inject)的实现类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318754/