SSH框架搭建主要流程
阿新 • • 發佈:2019-02-13
1.建立一個動態web專案
接著點選next,勾選自動生成web.xml選項,最後點選finish。
2.在WEB-INF的lib資料夾中匯入必備的jar包,包括spring、struts以及hibernate的jar包:
spring相關jar包:
struts相關jar包:
hibernate相關jar包:
其中尤其注意不能忘記classmate-1.3.4.jar、byte-buddy-1.8.12.jar、aspectjweaver-1.8.13jar的匯入。
3.jar匯入後,開始搭建框架,完成配置檔案
(1)首先第一步載入資料庫配置檔案,配置資料來源
<!-- 載入資料庫配置檔案 --> <context:property-placeholder location="classpath:db.properties"/> <!-- 包掃描器 --> <context:component-scan base-package="com.jiangnan.ssh"/> <!-- 配置C3P0資料來源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${db.username}"/> <property name="password" value="${db.password}"/> <property name="driverClass" value="${db.driverClass}"/> <property name="jdbcUrl" value="${db.url}"/> <property name="initialPoolSize" value="${db.initialPoolSize}"/> <property name="maxPoolSize" value="${db.maxPoolSize}"/> </bean>
(2)第二步建立資料庫操作物件
<!-- 建立資料庫的操作物件 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="hibernateProperties" > <props> <!-- 資料庫方言 --> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <!-- 顯示Hibernate持久化操作生成的預編譯的SQL --> <prop key="hibernate.show_sql">true</prop> <!-- 將SQL格式化後再輸出 --> <prop key="hibernate.format_sql">true</prop> <!-- 是否根據需要每次自動建立資料庫 --> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <!-- Hibernate對映檔案的目錄 --> <property name="mappingDirectoryLocations"> <list> <value>classpath:com/jiangnan/ssh/pojo</value> </list> </property> </bean>
(3)第三步配置事務
<!-- 配置事務管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
(4)第四步配置通知
<!-- 配置通知 -->
<tx:advice transaction-manager="transactionManager" id ="txadvice">
<tx:attributes>
<tx:method name="add" propagation="REQUIRED"/>
<tx:method name="delete" propagation="REQUIRED"/>
<tx:method name="update" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
(5)第五步配置切面
<!-- 配置切面 -->
<aop:config>
<aop:pointcut expression="execution(* com.jiangnan.ssh.service.*.*(..))" id="txpoint"/>
<aop:advisor advice-ref="txadvice" pointcut-ref="txpoint"/>
</aop:config>
(6)最後配置一下web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>TestSSH</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
以上基本完成了SSH框架的主要搭建,如有不當之處,敬請各位批評指正。