SSH框架整合

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/8/8-151.html

版本:
Struts:struts-2.3.24.1
Spring:spring-framework-4.2.5
Hibernate:hibernate-release-5.1.0


Struts2
1、 引入struts2的基础jar包;
  commons-fileupload-1.2.2.jar
  commons-io-2.0.1.jar
  commons-lang-2.5.jar
  commons-logging-1.1.1.jar
  freemarker-2.3.16.jar
  javassist-3.11.0.GA.jar
  ognl-3.0.1.jar
  struts2-core-2.2.3.jar
  xwork-core-2.2.3.jar
  asm-3.1.jar
  asm-commons-3.1.jar
2、 Web.xml配置struts2拦截器:
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>

  <filter-mapping>
     <filter-name>struts2</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping>
3、 WEB-INF下创建jsp文件夹,里面建立反馈jsp页面;
4、 创建Action:继承ActionSupport重写excute方法;
5、 ClassPath下建立struts.xml:
配置action:
  <action name="register" class="com.s2sh.action.RegisterAction">
    <result name="success">/WEB-INF/jsp/success.jsp</result>
    <result name="fail">/WEB-INF/jsp/fail.jsp</result>
  </action>


Spring
1、 导入Spring的基础jar包;
2、 设置Spring配置文件位置:
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:applicationContext.xml
    </param-value>
  </context-param>
3、 设置Spring随服务器启动而启动
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
4、 ClassPath下创建applicationContext.xml
配置组件bean扫描路径:
<context:component-scan base-package="com.s2sh"></context:component-scan>
5、 加入和Struts2的连接插件:struts2-spring-plugin-2.3.24.1.jar;
6、 写好Dao和Service,用@Component和@Resource注解好bean组件和自动注入;
7、 Action中添加所需业务处理类引用,添加set和get方法,这样Spring就会为其自动注入;
8、 配置Spring的中文乱码过滤器;

Hibernate
1、 加入Hibernate基础jar包;
2、 加入连接池jar包:
  c3p0-0.9.2.1.jar
  mchange-commons-java-0.2.3.4.jar
3、 加入slf4j和log4j等相关日志包
  数据库驱动包
  aopalliance-1.0.jar
4、 ClassPath下创建jdbc.properties,配置jdbc数据库连接信息;
5、 applicationContext.xml下配置加载jdbc信息文件:
  <context:property-placeholder location="classpath:jdbc.properties"/>
6、 applicationContext.xml配置数据库连接池对象:
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="$ {jdbc.driverClassName}"/>
    <property name="jdbcUrl" value="$ {jdbc.url}"/>
    <property name="user" value="$ {jdbc.username}"/>
    <property name="password" value="$ {jdbc.password}"/>
 </bean>
7、 配置SessionFactory(相当于Hibernate的主配置文件):
  <!-- 集成Hibernate -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate5.annotation. LocalSessionFactoryBean">
  <!-- 配置连接池 -->
  <property name="dataSource" ref="dataSource" />
  <!-- 配置注解组件类 -->
  <!--
  <property name="annotatedClasses">
   <list>
    <value>com.s2sh.domain.User</value>
   </list>
  </property>
  -->
  <!-- 自动扫描实体类,不用一个个写限定名 -->
  <property name="packagesToScan">
   <value>com.s2sh.domain</value>
  </property>
  <!-- Hibernate主配置文件内容 -->
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>
8、 配置HibernateTemplate:
  <bean name="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
9、 Hibernate事务管理器:
 <bean id="txManager"
    class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
 </bean>
10、 使用事务管理器:
  <!-- 使用事务管理器 -->
 <tx:annotation-driven transaction-manager="txManager"/>
11、 在需要事务管理的业务处理方法上注解@Transactional;
12、 实体类User添加@Entity、@Id等Hibernate实体注解;
13、 SQL数据库建表;

 

注意:在配置Hibernate相关的类时,要用哪个包的类要根据Hibernate的版本来选择。
   Hibernate5主键生成策略用@GeneratedValue(strategy=GenerationType.IDENTITY)。

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/blog/8/8-151.html

你可能感兴趣的:(spring,Hibernate,框架,struts,ssh)