`
out_println
  • 浏览: 14433 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

整合Struts2.1.6+ibatis2+Spring2.5配置详解

    博客分类:
  • ssh
阅读更多
首先配置Struts
web.xml配置如下:
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:com/configure/applicationContext.xml classpath:com/configure/applicationContext*.xml </param-value>

	</context-param>
	
	<filter>
	  <filter-name>struts2</filter-name> 
	  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
	  </filter>
	<filter-mapping>
	  <filter-name>struts2</filter-name> 
	  <url-pattern>/*</url-pattern> 
	</filter-mapping>
	
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

完成以上配置后,我们可以先部暑项目启动服务器,如果启动正常没有报错,说明struts与spring的启动是正常的,接下来我们再在项目的根目录下(src目录下面)添加sturts.xm与log4j.properties具体配置如下:
struts.xml的内容:(如没有自定义拦截器,下面的拦截器需注悉掉)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	
	<include file="struts-default.xml"></include>
    <package name="struts1" extends="struts-default">
    
    	<interceptors>
    	<!-- 定义登陆验证拦截器 -->
    		<interceptor name="loginVlidate" class="com.interceptor.UserLoginVlidate"></interceptor>
    		<!-- 定义拦截器栈 -->
    		<interceptor-stack name="checkInterceptor">
    		<!-- 包含登陆证和默认拦截器 -->
    			<interceptor-ref name="loginVlidate"></interceptor-ref>
    			<interceptor-ref name="defaultStack"></interceptor-ref>
    		</interceptor-stack>
    	</interceptors>
    	<!-- 定义全局拦截器 -->
    	<default-interceptor-ref name="checkInterceptor"></default-interceptor-ref>
    	<!-- 定义一个全局的返回结果 -->
    	<global-results>
    		<result name="login">/login.jsp</result>
    	</global-results>

		<action name="registerAction" class="RegisterAction">
		 	<result>index.jsp</result>
		 	<result name="error">error.jsp</result>
		</action>
		 
		<action name="loginAction" class="LoginAction">
		 	<result>main.jsp</result>
		 	<result name="error">error.jsp</result>
		</action>
		

    </package>

    <!-- Add packages here -->

</struts>



log4j.properties内容:
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${petstore.root}/WEB-INF/petstore.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n


完成以上配置后,我们可以做一些不涉及持久层的action测试,如果测试没问题说明struts已经配置成功,接下来就是配置ibatis,具体配轩如下:
database.properties内容:
####################################
# Database Connectivity Properties
####################################

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.1.38:3306/ssh
username=netjava
password=netjava


sql-map-config.xml内容:
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

  <sqlMap resource="com/persistence/sqlmapdao/sql/userInfo.xml"/>
  <sqlMap resource="com/persistence/sqlmapdao/sql/replyInfo.xml"/>
  <sqlMap resource="com/persistence/sqlmapdao/sql/articleInfo.xml"/>
 
</sqlMapConfig>

至此,struts与ibatis的配置都已完成,接下来我们要做的就是如何用spring这个粘合济将它们整合起来,下面是spring具体配置:
首先,配置applicationContext.xml文件:
<?xml version="1.0" encoding="UTF-8"?>

<!--
  - Application context definition for JPetStore's business layer.
  - Contains bean references to the transaction manager and to the DAOs in
  - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
  -->
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns:aop="http://www.springframework.org/schema/aop"
		xmlns:tx="http://www.springframework.org/schema/tx"
		xsi:schemaLocation="
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:com/configure/database.properties</value>
			</list>
		</property>
	</bean>
	<!-- ========================= GENERAL DEFINITIONS ========================= -->

	<!-- Configurer that replaces ${...} placeholders with values from properties files -->
	<!-- (in this case, mail and JDBC related properties) -->

  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${username}"/>
    <property name="password" value="${password}"/>
  </bean>

  <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="configLocation" value="classpath:com/configure/sql-map-config.xml"/>
    <property name="dataSource" ref="dataSource"/>
  </bean>
  
  
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSource"/>
  </bean>
  
  	<!-- 配置事务拦截器 -->
	<bean id="transactionInterceptor"
		class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<!-- 事务拦截器bean依赖注入一个事务管理器 -->
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
		<!-- 下面定义事物的传播属性 -->
			<props>
				<prop key="insert*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
		</bean>
	<!-- 定义BeanNameAutoProxyCreator的bean后处理器 -->
	<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="beanNames">
			<list>
				<value>UserInfoService</value>
			</list>
		</property>
		<property name="interceptorNames">
			<list>
				<value>transactionInterceptor</value>
			</list>
		</property>
	</bean>

	

</beans>

接下来再配置applicationContext-dao.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>

	<bean id="UserInfoDao" class="com.persistence.sqlmapdao.UserInfoSqlMapDao">
		<property name="sqlMapClient" ref="sqlMapClient"></property>
	</bean>
	
</beans>

applicationContext-service.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
	
	<bean id="UserInfoService" class="com.service.impl.UserInfoServiceImpl">
		<property name="userDao" ref="UserInfoDao"></property>
	</bean>
	
</beans>

applicationContext-struts.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>

	<bean id="RegisterAction" class="com.action.RegisterAction">
		<property name="userService" ref="UserInfoService"></property>
	</bean>
	
	
	<bean id="LoginAction" class="com.action.LoginAction">
		<property name="userService" ref="UserInfoService"></property>
	</bean>
		
</beans>

到此,关于struts+ibatis+spring整合的配置都已完成。
分享到:
评论

相关推荐

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第二部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第一部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成

    struts2.1.6+Spring2.0.8+Ibatis2.3.4工程

    struts2.1.6+Spring2.0.8+Ibatis2.3.4工程 开发工具:eclipse3.3+myeclipse6.5 应用技术:Struts2,Spring,Ibatis 数据库:oracle 测试JDK:JDK1.6 测试服务器:Tomcat6.0 非常完整的工程,部署到Tomcat上就可以使用...

    Struts+Spring+Ibatis整合框架搭建文档

    ### Struts+Spring+Ibatis整合框架搭建知识点详解 #### 一、框架介绍与整合意义 **Struts**是一款开源的MVC框架,主要用于构建基于Java的Web应用程序。它简化了开发过程,使得开发者能够更加关注业务逻辑而非基础...

    Spring struts ibatis Mysql 集成

    这个项目集成了Spring 2.5.5、Struts 2.1.6、iBatis 2.3.4以及MySQL 5.1数据库,使用IntelliJ IDEA 9作为开发环境。下面将详细介绍这些技术和它们的集成方式。 **Spring框架**: Spring是一个开源的Java平台,主要...

    Struts2.1.6 Spring2.5.6 Ibaits2.3.4 自己搭一个框架吧

    Struts2.1.6、Spring2.5.6 和 iBATIS2.3.4 是经典的Java Web开发框架组合,它们在企业级应用中有着广泛的应用。搭建这样一个框架可以帮助开发者更好地理解和掌握这些技术,同时提高开发效率。下面将详细阐述这三个...

    一个S2S+ibatis一个增删改查的例子(由原先SSH2改编)

    4. **源码分析**:在博客链接中,作者可能会详细解释如何配置Struts2和iBatis的XML配置文件,如何定义Action类,如何编写SQL映射文件,以及如何在Action中调用iBatis的SqlSession执行SQL语句。此外,还会涉及到如何...

    jmesa学习笔记。。。

    2. **环境搭建**: 笔者基于SSI框架(Struts2.1.6 + Spring3.0 + iBatis-2.3.4.726)搭建了学习环境,并按照官方示例进行了环境的配置与测试。 #### 三、配置JMesa环境 1. **文件结构**: - 在`webRoot`目录下创建...

    框架jar包大全(SSH)

    标题中的"框架jar包大全(SSH)"指的是三个流行的Java Web开发框架:Struts2、Spring和Hibernate的集合,这些框架的jar包集合通常被称为SSH整合。这个描述表明提供了一个包含所有SSH框架所需的jar包的压缩文件,使得...

    个人整理的很新的jar包

    首先,`struts2.1.6`是一个Struts 2框架的版本。Struts 2是基于MVC(Model-View-Controller)设计模式的开源Web应用框架,它整合了WebWork与Struts 1的优点,提供了一种强大的、可扩展的和易于使用的开发框架。...

    SSI必须jar包

    5. **struts2-core-2.1.6.jar**:Struts2的核心库,负责处理HTTP请求,管理动作映射,以及执行视图渲染。Struts2是一个流行的MVC框架,它极大地简化了Java Web应用的开发。 6. **mysql-connector-java-5.1.0.5.jar*...

Global site tag (gtag.js) - Google Analytics