`
shyf12054213
  • 浏览: 33968 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

S2SH整合配置篇

    博客分类:
  • S2SH
阅读更多
web.xml
<?xml version="1.0" encoding="GBK"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

	<!-- 用于初始化Spring容器的Listener -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

	<!-- 定义整合SiteMesh必须的ActionContextCleanUp Filter -->
	<filter>
		<filter-name>struts-cleanup</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
	</filter>
	<!-- 定义整合SiteMesh和核心 Filter -->
	<filter>
		<filter-name>sitemesh</filter-name>
		<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
	</filter>
	<!-- 定义Struts2的FilterDispathcer的Filter -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
	<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
        <servlet-name>img</servlet-name>
        <servlet-class>org.yeeku.web.AuthImg</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>img</servlet-name>
	    <url-pattern>/authImg</url-pattern>
    </servlet-mapping>

</web-app>

 

applicationContext.xml
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- 定义数据源Bean,使用C3P0数据源实现 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
		<!-- 指定连接数据库的驱动 -->
		<property name="driverClass" value="com.mysql.jdbc.Driver"/>
		<!-- 指定连接数据库的URL -->
		<property name="jdbcUrl" value="jdbc:mysql://localhost/reg_login"/>
		<!-- 指定连接数据库的用户名 -->
		<property name="user" value="root"/>
		<!-- 指定连接数据库的密码 -->
		<property name="password" value="root"/>
		<!-- 指定连接数据库连接池的最大连接数 -->
		<property name="maxPoolSize" value="20"/>
		<!-- 指定连接数据库连接池的最小连接数 -->
		<property name="minPoolSize" value="1"/>
		<!-- 指定连接数据库连接池的初始化连接数 -->
		<property name="initialPoolSize" value="1"/>
		<!-- 指定连接数据库连接池的连接的最大空闲时间 -->
		<property name="maxIdleTime" value="20"/>
	</bean>

    <!--定义了Hibernate的SessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mappingResources">
            <list>
				<value>User.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.jdbc.batch_size">20</prop> 
            </props>
        </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>


    <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
	    <!--  事务拦截器bean需要依赖注入一个事务管理器 -->
        <property name="transactionManager" ref="transactionManager"/>
    	<property name="transactionAttributes">
		    <!--  下面定义事务传播属性-->
		    <props>
			    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
		    	<prop key="*">PROPAGATION_REQUIRED</prop>
		    </props>
	    </property>
	</bean>

    <!-- 定义BeanNameAutoProxyCreator-->
    <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
	    <!--  指定对满足哪些bean name的bean自动生成业务代理 -->
	    <property name="beanNames">
            <!--  下面是所有需要自动创建事务代理的bean-->
            <list>
                <value>mgr</value>
            </list>
            <!--  此处可增加其他需要自动创建事务代理的bean-->
	    </property>
        <!--  下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
        <property name="interceptorNames">
            <list>
                <!-- 此处可增加其他新的Interceptor -->
                <value>transactionInterceptor</value> 
            </list>
        </property>
    </bean>

    <bean id="mgr" class="org.yeeku.service.impl.UserManagerImpl">
        <property name="userDao" ref="userDao"/>
    </bean>

	<bean id="userDao" class="org.yeeku.dao.hibernate.UserDaoHibernate">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>

</beans>

 struts整合spring有两种方式,一种方式是让spring来管理action,即在配置action的class属性时不指定该action的实现类而是指向spring容器中的beanid

第二种整合方式是利用spring的自动装配,当spring在创建action的实例时,利用spring的自动装配策略,将对应的业务逻辑组件注入action实例

分享到:
评论

相关推荐

    S2SH整合 S2SH整合

    S2SH整合指的是Struts2、Spring和Hibernate这三个开源框架的集成应用,它们分别是MVC(Model-View-Controller)架构中的控制层、业务层和数据持久层的优秀解决方案。在Java Web开发中,S2SH整合能提供一个强大、灵活...

    基于Annotation的s2sh整合配置实现分页功能

    基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能

    s2sh整合所需jar包大全

    6. **配置文件**: S2SH整合还需要对各框架的配置文件进行设置,例如`struts.xml`、`spring-servlet.xml`、`hibernate.cfg.xml`等。这些配置文件定义了Action、服务和数据源的映射,以及事务管理等关键设置。 7. **...

    s2sh整合实例

    **S2SH整合详解** S2SH,全称为Struts2、Spring和Hibernate的整合,是Java Web开发中一种常见的框架组合,用于构建高效、可维护的Web应用程序。这三个框架分别负责不同的职责:Struts2作为MVC(模型-视图-控制器)...

    s2sh整合配置

    【S2SH整合配置】指的是将Struts 2、Spring和Hibernate这三大主流Java开源框架进行集成,以实现更高效、灵活的企业级Web应用程序开发。在这个整合中,JPA(Java Persistence API)被用来处理数据持久化,取代了传统...

    S2SH 整合 导入即可完整包

    在S2SH整合中,Spring主要负责事务管理和数据源配置,以及Struts2和Hibernate的集成。 **2. Struts2框架** Struts2是基于MVC设计模式的Web应用框架,负责处理HTTP请求,管理视图和控制器。它提供了强大的拦截器机制...

    s2sh整合demo源码

    在S2SH整合中,Hibernate 3.5.6版本作为ORM(对象关系映射)工具,允许开发者通过对象模型来操作数据库,而无需编写SQL。它支持懒加载、缓存策略和复杂查询,使得数据库操作更加便捷。 **整合过程** S2SH的整合...

    s2sh整合完全包

    【标签】"s2sh整合完全包"强调了这个压缩文件的核心价值,即提供了一个完整的、预配置好的环境,用于整合Struts2、Spring和Hibernate这三大流行的Java Web开发框架。 【文件名称列表】中的"lib"可能是指包含所有s2...

    s2sh整合配置文件

    在S2SH整合中,Spring作为应用上下文容器,管理着所有对象的生命周期和依赖关系。例如,这里可能会定义数据库数据源、Hibernate SessionFactory、Action类的bean等。Spring通过@Autowired注解或XML配置来实现对象间...

    s2sh整合详细jar

    本压缩包"**s2sh整合详细jar**"显然是一份包含了这三个框架核心组件的集合,旨在帮助初学者快速搭建SSH整合环境。以下是对每个框架及其整合细节的详细解释: 1. **Struts2**:Struts2是一个基于MVC设计模式的Java ...

    s2sh整合配置步骤及其xml文件配置(图示)

    Struts2.0.14+Spring2.5+Hibernate3.2+Oracle10g+Tomcat6.0开发环境配置,有步骤图示 +web.xml+applicationContext.xml文件配置 还算齐全。。。

    S2SH 整合 企业级开发 配置详解 详细代码 学Java的必学

    7. **测试与调试**:编写JUnit测试用例,验证各个层的交互是否正常,确保S2SH整合成功。 学习S2SH框架整合的过程中,了解每个组件的核心概念和工作原理至关重要。例如,Struts2的拦截器、Hibernate的实体映射、...

    S2SH整合demo

    这三者结合,被称为S2SH整合,能够构建出高效、灵活且可维护的Java Web应用程序。 **Struts2框架**: Struts2是Struts1的升级版,它引入了拦截器(Interceptor)的概念,增强了动作(Action)与结果(Result)的...

    s2sh整合配置,非常适合初学者,明白配置流程

    非常适合初学者掌握ssh2整合的例子,献给初学者

    S2SH整合完美教程

    【S2SH整合完美教程】 ...总结,S2SH整合涉及到多个层面的配置和交互,理解并掌握这些配置细节是成功构建基于这些框架的应用的关键。通过合理的配置和注解,我们可以实现高效的MVC架构,使应用程序更易于管理和维护。

    s2sh整合实现增删改查源代码(带s2sh整合包)

    这个压缩包提供了实现增删改查功能的源代码,以及完整的S2SH整合包,使得开发者可以直接运行项目,无需从零开始配置环境。 **Struts2** 是一个基于MVC设计模式的Action驱动框架,它负责处理用户的请求,并通过...

    完整的S2SH框架整合, 带jar包

    4. **整合过程**:S2SH的整合涉及到配置多个文件,如Struts的struts-config.xml、Spring的applicationContext.xml和Hibernate的hibernate.cfg.xml。开发者需要在这些配置文件中定义Action、Bean和实体类等,同时,还...

    s2sh整合步骤及配置文件配置

    【S2SH整合详解】 S2SH整合是指将Struts2、Spring和Hibernate三大主流开源框架集成在一起,以实现高效、灵活的企业级Web应用开发。以下是详细的整合步骤和配置文件配置: 1. **Hibernate整合** - 首先,为项目...

    s2sh整合所有的jar包

    标题 "s2sh整合所有的jar包" 指的是将Struts、Spring和Hibernate这三种技术集成所需的Java档案(JAR)文件集合在一起,便于在项目开发中快速引用和使用。这种整合通常被称为SSH框架,它是Java Web开发中的一个流行...

    S2SH的框架配置详解

    ### 四、整合配置 在实际项目中,通常会通过Spring管理Hibernate的SessionFactory,然后在Struts2的Action中注入SessionFactory来操作数据库。这样,S2SH框架便完成了全面的整合。 总结来说,S2SH框架的配置涉及到...

Global site tag (gtag.js) - Google Analytics