具有多个原型的Spring自定义范围

时间:2015-04-24 22:03:53

标签: java spring

我在Spring中有这个bean层次结构:enter image description here

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中管理这种范围的最简单方法是什么?

由于

0 个答案:

没有答案