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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章