创建Action的两种方式Spring和Struts

1.action的创建交给Spring

Action中的userService已经在applicationContext.xml配置,只需要把这个Action在applicationContext.xml中重新配置下

<bean id="userAction" class="com.domain.UserAction>

<property name="userService" ref="userService"/>

</bean>

在struts配置Action时,class属性不是原来Action类的位置(不然无法获取userService),  因此class应该写bean中的别名。 

若是使用别名,则默认从spring容器中获得内容,getBean("userAction");

默认是获得单例,若是没有获得内容,将自己创建。

Spring中scope默认为singleton,  就是每次共用一个Action,但Action不是线程安全的,故applicationContext.xml中配置Action 有一属性scope 设其值为prototype,要求每一个线程创建一个独立的Action。

2.action的创建交给Struts

实际上只要保持Action中属性的属性名与applicationContext.xml中的bean名字相同,便会自动注入。不需要配置applicationContext.xml

比如说:直接在struts.xml中配置  <action name="userAction" class="com.domain.UserAction">....</action>

然后这个Action类中Field有一属性UserService userService, 恰好有一bean name="userService"在applicationContext.xml中配置,则只需要给userService加上set方法,便可实现自动注入。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值