Spring的bean标签的scope和parent属性

今天本是打算看一下事务相关,就结合Spring的声明式事务管理看。


对Spring配置文件中的几个标签属性又深入了解了一下:


1.   bean parent:parent属性最大的作用就是当很多bean都重用一些属性时,我们可以创建一个父亲bean,然后所有的bean都设定parent属性,引用父亲bean。最常见的配置就是在配置transactionManager的时候。


2.  bean scope:scope属性是表示bean的作用域,使用最多的是prototype和singleton,还有就是request和session。prototype表明这个bean每次被注入的时候都会创建一个新的实例,使用最多的情况就是Struts的Action注入的时候,一般都会选择prototype这种scope。singleton表明这个bean只被Spring容器创建一个唯一的实例。这样singleton的bean会不会存在多线程并发问题呢?实际上,我们还是会使用singleton(无状态bean),因为我们一些service层的类都是不需要设置成员变量的,当我们需要设定成员变量的时候,使用ThreadLocal就可以很好的解决问题了。

你可能感兴趣的:(Spring)