SSH整合
一引入包
- Struts2的jar包
struts-2.3.24\apps\struts2-blank\WEB-INF\lib*.jar
Struts2中有一些包需要了解的:
struts2-convention-plugin-2.3.24.jar ----Struts2的注解开发包。
struts2-json-plugin-2.3.24.jar ----Struts2的整合AJAX的开发包。
struts2-spring-plugin-2.3.24.jar ----Struts2的整合Spring的开发包。 - Hibernate的jar包
hibernate-release-5.0.7.Final\lib\required*.jar - MySQL驱动
- 日志记录 log4j —slf4j-api -----slf4j-log4j–
- 使用C3P0连接池
- Spring的jar包
二步:引入配置文件
Struts的配置文件
- web.xml
- struts.xml
Hibernate的配置文件
- hibernate.cfg.xml
删除那个与线程绑定的session。 - 映射文件
Spring的配置文件
-
web.xml
-
applicationContext.xml
-
日志记录
包
Spring整合Struts2方式二:Action交给Spring管理(推荐)
引入插件包
引入struts-spring-plugin.jar
将Action交给Spring
< bean id=“hhhAction” class=" 包名加类名" />
需要手动注入Service
struts.xml 配置Action
< package name=“ssh1” extends=“struts-default” namespace="/">
< action name=“hhh_*” class=“hhhAction” method="{1}" ></ action>
< package>
Service调用DAO
DAO交给Spring管理
< bean id=“hhhDao” class=" 略" />
在Service注入DAO set方式 也是< bean ----略
Spring整合Hibernate框架(可以 看第二种)
-
在Spring的配置文件中,引入Hibernate的配置的信息
-
在Spring和Hibernate整合后,Spring提供了一个Hibernate的模板类简化Hibernate开发。
配置Spring的事务管理
-
配置事务管理器
-
开启注解事务
-
在业务层使用注解
将hibernate的配置交给Spring管理-不带hibernate配置文件
hibernate配置文件中有哪些内容:
- 数据库连接的配置
- Hibernate的相关的属性的配置
方言
显示SQL
格式化SQL
等 - C3P0连接池
- 映射文件
Hibernate的配置交给Spring
<!-- 引入外部属性文件=============================== -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置C3P0连接池=============================== -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- Spring整合Hibernate -->
<!-- 引入Hibernate的配置的信息=============== -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!-- 注入连接池 -->
<property name="dataSource" ref="dataSource"/>
<!-- 配置Hibernate的相关属性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</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="mappingResources">
<list>
<value>com/itheima/ssh/domain/Customer.hbm.xml</value>
</list>
</property>
</bean>