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整合
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦