我在Spring中有这个bean层次结构:
Bean1 , Bean2 , Bean3 都是范围原型且属于同一类型( Bean )和必须共享 AnotherBean 的相同实例。另一个bean不能是单例,以便管理相同的情况:
public Test {
@Autowired
private Provider<Bean> beanProvider;
public void testCustomScope() {
Bean rootBean1 = beanProvider.get();
Bean rootBean2 = beanProvider.get();
// After that the following should be true
// rootBean1.getAnotherBean() == rootBean1.getBean().getAnotherBean() == rootBean1.getBean().getBean().getAnotherBean()
// rootBean2.getAnotherBean() == rootBean2.getBean().getAnotherBean() == rootBean2.getBean().getBean().getAnotherBean()
// rootBean1.getAnotherBean() != rootBean2.getAnotherBean() and so on
}
}
在我看来,应该在Spring中将AnotherBean定义为自定义作用域,但是我找不到将AnotherBean实例与Bean实例相关联的方法。
在Spring中管理这种范围的最简单方法是什么?
由于