新人求助spring注入的问题

J2EE 码拜 10年前 (2015-05-10) 937次浏览 0个评论
 

@Resource(name=“comdao”)
private ICommonMsgDao commonMsgDao;
这样做的目的就是代替  ICommonMsgDao  comdao=new  CommonMsgDao();啊

<bean id=”sysUserBean”
class=”com.sinosoft.performance.action.SysUserAction”
scope=”prototype”>
<property name=”sysUserService”>
<ref bean=”sysUserService” />
</property>
<property name=”sysRoleManagerService”>
<ref bean=”sysRoleManagerService” />
</property>
<property name=”sysResourceService”>
<ref bean=”sysResourceService” />
</property>
<property name=”service”>
<ref bean=”orgService” />
</property>
<property name=”sysOrganService”>
<ref bean=”sysOrganService” />
</property>
</bean>
和这种效果一样的     就是为了减少new 一个对象             是这样的吗 
20分
这样做的目的就是代替  ICommonMsgDao  comdao=new  CommonMsgDao();啊 
这个是对的,是想替代new CommonMsgDao() ,让spring容器去完成这个操作

和这种效果一样的     就是为了减少new 一个对象  就是为了减少new 一个对象  
这个理解是错误的,这里并没有减少new一个对象,如果是scope是单例的话,那只创建一个bean。
spring的bean有自己的生命周期,一般的默认是prototype,即原型
每次都是新生成的bean,用完后就没有了,这样避免多线程的时候,线程污染。

引用 2 楼 magi1201 的回复:

这样做的目的就是代替  ICommonMsgDao  comdao=new  CommonMsgDao();啊 
这个是对的,是想替代new CommonMsgDao() ,让spring容器去完成这个操作

和这种效果一样的     就是为了减少new 一个对象  就是为了减少new 一个对象  
这个理解是错误的,这里并没有减少new一个对象,如果是scope是单例的话,那只创建一个bean。
spring的bean有自己的生命周期,一般的默认是prototype,即原型
每次都是新生成的bean,用完后就没有了,这样避免多线程的时候,线程污染。

蜗牛大牛   你讲错了   spring的bean有自己的生命周期,一般的默认是singleton    但是在ACTION配置为prototype

引用 3 楼 hello_ssx 的回复:

蜗牛大牛   你讲错了   spring的bean有自己的生命周期,一般的默认是singleton    但是在ACTION配置为prototype

 刚翻了一下书,确实说错了
默认单例,使用prototype每次产生一个bean


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明新人求助spring注入的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!