本文爲博主原創,允許轉載,但請聲明原文地址: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