继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

我的学习记录——ssh整合1

陈明朗
关注TA
已关注
手记 8
粉丝 9
获赞 75

ssh整合主要是将hibernate和struts2的对象都交给spring进行管理。spring与hibernate、spring与struts2分别进行整合。

struts2在创建action时,就是交给spring进行处理,在applicationContext中创建action

    //因为action是多实例的,所以在创建对象时要声明scope="prototype"
    <bean id="registerAction" class="com.melon.action.RegisterAction" scope="prototype">
        <property name="userService" ref="userServiceImpl"></property>
    </bean>

在struts2配置文件中,唯一不同的是在action标签中的calss属性不是填写action的全路径,而是在applicationContext中的bean的id

    <package name="register" extends="struts-default" namespace="/">
        <action name="registerAction" class="registerAction"></action>
    </package>

spring与hibernate整合
先配置dataSource

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"></property>
        <property name="user" value="root"></property>
        <property name="password" value="1"></property>
    </bean>

再将dataSource注入orm自带的sessionFactoryBean中

    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!-- 指定hibernate配置文件地址 -->
        <property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
    </bean>

最后再进行事务管理器的配置

    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <!-- 开启事务管理器 -->
    <tx:annotation-driven transaction-manager="transactionManager"/>

在web.xml里可以用监听器让服务器启动时加载spring配置文件

<!-- 监听器实现在服务器启动时加载applicationConext的配置信息 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 指定applicationContext的路径 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

完成基本的ssh整合

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP