在Spring 2.0以后的版本中,Spring的bean作用域机制是可以自定义扩展的。这意味着,我们不仅可以使用Spring提供的预定义bean作用域; 还可以定义自己的作用域,甚至重新定义现有的作用域(但是不提倡这么做,而且不能覆盖内置的singleton和prototype作用域)
作用域由接口org.springframework.beans.factory.config.Scope定义。要将自定义作用域集成到Spring容器中,需要实现该接口。
public class ThreadScop implements Scope { private final ThreadLocal
实现一个或多个自定义Scope后,接下来就是如何让Spring容器识别新作用域。
实现BeanFactoryPostProcessorpublic class RegisterCustScope implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException { configurableListableBeanFactory.registerScope("therad",new ThreadScop()); } }xml配置自定义Bean作用域:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)