struts2+hibernate3+spring2.5整合配置

 l  新建工程—》添加hibernate支持

 

将相关的lib放到copy到工程路径下的一个lib文件夹中,后面的也是如此,这样以后通过

 

 

Add Class Folder来引用这些lib,这样以后再有s2sh整合例子,就可以直接使用啦。

下面的图我就不一一截了,生成的Hibernate.cfg.xml其实不再需要,最后相关的配置会在applicationContext.xml中配置好,当springhibernate整合后,HibernateSession就交给LocalSessionFactoryBean来管理了,这样我们从始至终都操作同一个sessionFactory了。

 

 

选中这四个,然后struts2jar就默认的core即可。但是最好是知道所需要的所有jar包,然后自己手动添加配置一下,否则,比如MyEclipse6.5就会有jar的冲突问题。

 

 

l  开始进行配置文件

首先是Web.xml文件

  

 

  

   接着是applicationContext.xml

 

 

Strust.xml文件

配置该文件需要注意两点:

1.  就是我们strutsaction是交给spring来管理的,所以我们需要添加<constant name="struts.objectFactory" value="spring"/>这样一个常量的设置,当然在struts.properties中设置也可以。

2.  我们的action定义的class属性写的是在applicationContext.xml中对应beanid,而beanclass才是action真正的映射类,在strust1中,是通过:

<action path="/bookAction" parameter="op" type="org.springframework.web.struts.DelegatingActionProxy">代理类来实现的,但是在2和spring整合时,应该这样:

   bean 的id应该与action的class保持一致。

 

Psscope="prototype"不再和struts1中的singleton一样了,因为spring的单例与设计模式中的单例不同,设计模式的单例是在jvm中只产生一个实例,而spring中的单例是针对每个Ioc容器而言,如果存在两个ioc容器,那么每个ioc容器都会生成唯一的类实例。将sessionFactory注入到dao中,这里的dao是无状态的,可以设置为singleton,这里的action是由spring创建的,strut2struts1action有所不同,因为struts2中的action可能存在属性,所以是有状态的,那么在这种情况下,如果还是设置为singleton,那么每次请求都新建一个actionscope="prototype" 会在该类型的对象被请求时创建一个新的action对象,就不会保留上次访问的记录信息,

    到这里主要的配置就结束了,就不再赘述daoservice的实现和注入了,dao实现依赖sessionFactory实现,而service依赖dao的实现,action依赖service的实现,注意,依赖注入的实质是靠属性的set方法哦,所以大家别忘了写set方法。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值