每天学点Java之Spring与Struts2和Hibernate的整合

Struts2与Spring的整合

1.Struts2与Spring的整合主要就是把Struts中的Action交给Spring来管理
    第一步:在Spring的配置文件中添加一个Action类的bean(以UserAction为例)
    也可以不在配置文件中写 直接在Action类中使用注解也可以
    <bean name="userAction" class="com.xxx.action.UserAction" scope="prototype"></bean>
    第二步:在Struts.xml中配置
    有两种方式 一种是半整合 另一种是完全整合
    首先介绍两种常量
    <!-- 
        struts.objectFactory=spring
        默认就是spring 表示让spring来管理Struts的Action 
    -->
    <!-- 
        struts.objectFactory.spring.autoWire = name
        让Spring对Action中的依赖进行注入 通过name来注入
     -->
    <!-- 第一种整合方式(半整合) 
         Struts配置文件不需要做任何修改 这样的话 Action的创建还是Struts完成
         Spring只负责依赖管理 不推荐
         第二种完全整合(完全整合)
         把Struts配置中的Action的class替换为Spring容器中的bean名称
         达到 让Spring完全管理所有Action和依赖
         下面分别是半整合和完全整合
    -->
    <package name="action" namespace="/" extends="struts-default">
        <action name="UserAction_*" class="com.xxx.action.UserAction" method="{1}">
            <result name="success">/index.jsp</result>
        </action>
    </package>
    <package name="action" namespace="/" extends="struts-default">
        <action name="UserAction_*" class="userAction" method="{1}">
            <result name="success">/index.jsp</result>
        </action>
    </package>
注意:记得在web.xml中配置struts2的核心过滤器和Spring的监听器

Spring与Hibernate的整合

2.Spring与Hibernate的整合
    第一步:在Spring的配置文件中添加Hibernate的配置
    <!-- 由于框架提供的都是class文件 不能使用注解 必须手动配置bean -->
    <!-- 整合hibernate其实就是让Spring接管SessionFactory -->
    <bean name="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <!-- 该属性用来设置JDBC相关参数 -->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
                <prop key="hibernate.connection.password">123456</prop>
                <prop key="hibernate.connection.url">jdbc:mysql:///MyDB</prop>
                <prop key="hibernate.connection.username">root</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
        <!-- 指定映射文件的路径 -->
        <property name="mappingDirectoryLocations" value="com/lanou/bean"></property>
注意:在Spring的配置文件中配置hibernate时.
    1.各属性前必须加上Hibernate前缀 因为这些操作还是hibernate在执行 
      只是交给Spring来管理
    2.和线程绑定获取当前session的实行千万不要添加 因为session的生命周期
       已经交给Sprig来管理了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值