Spring2.5.6+Hibernate3.3.1+Struts2整合

一、創建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"/>



三、配置web.xml文件使項目啓動時加載Spring容器
<!-- 指定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>



四、加入Struts支持
    須要加入的包:


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>



在Struts.xml文件中,實例以下:
<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基本框架搭建完畢,未完待續,以後還有緩存的加入等等。
相關文章
相關標籤/搜索