一、創建Web項目,加入Spring支持,創建Spring配置文件如,beans.xml mysql
須要加入的包有: web
二、加入Hibernate支持
須要加入的包:
在spring配置文件中配置(接管)Hibernate: spring
<!-- 配置Hibernate --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/ssh" /> <property name="username" value="root" /> <property name="password" value="654123" /> <!-- 鏈接池啓動時的初始值 --> <property name="initialSize" value="3" /> <!-- 鏈接池的最大值 --> <property name="maxActive" value="500" /> <!-- 最大空閒值.當通過一個高峯時間後, 鏈接池能夠慢慢將已經用不到的鏈接慢慢釋放一部分, 一直減小到maxIdle爲止 --> <property name="maxIdle" value="2" /> <!-- 最小空閒值.當空閒的鏈接數少於閥值時, 鏈接池就會預申請去一些鏈接,以避免洪峯來時來不及申請 --> <property name="minIdle" value="1" /> </bean> <!-- sessionFactory配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mappingResources"> <list> <!-- 接管Hibernate對象映射文件 --> <value>com/pas/domain/Employee.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.hbm2ddl.auto=update hibernate.show_sql=true hibernate.format_sql=false </value> </property> </bean> <!-- 配置事務管理器 統一管理sessionFactory事務--> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 啓用事務註解--> <tx:annotation-driven transaction-manager="txManager"/>
<!-- 指定spring的配置文件,默認從web根目錄尋找配置文件, 咱們能夠經過spring提供的classpath:前綴指定從類路徑(src開始)下尋找 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:beans.xml</param-value> </context-param> <!-- tomcat啓動時候對Spring容器進行實例化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
<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>
<struts> <!--此條配置利用Spring容器來進行Struts對象管理--> <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> <package name="struts2" extends="struts-default" namespace="/"> <!-- class爲Spring beans.xml中的action bean id --> <action name="login" class="loginAction"> <result name="input">/index.jsp</result> <result name="login">/index.jsp</result> <result name="error">/index.jsp</result> <result name="success">/WEB-INF/MainFrame.jsp</result> </action> </package> </struts>
注意:
一、在Spring配置文件中配置Action時候: sql
<!-- 配置Struts Actionbean --> <!-- scope設置爲原型能夠解決Action單例問題,避免一些線程安全問題 --> <bean id="loginAction" scope="prototype" class="com.pas.action.LoginAction"> <!--此處注入Action須要的Service層接口實現對象,此對象須要首先在本文件中配置爲bean--> <property name="employeeServiceInter" ref="employeeService"/> </bean>
二、在Service層,須要使用事務支持加入註解@Transactional便可,以後使用時Spring自動管理事務的建立提交 apache
至此,SSH基本框架搭建完畢,未完待續,以後還有緩存的加入等等。