`

spring集成ibatis示例-websphere5.1选型webservice

阅读更多

项目中需要新增一个子应用,用于webservice请求,由于公司开发环境和运行环境等原因,上线后必须使用websphere5.1,这样就限制了运行环境,JDK1.4 servlet2.3,经过了一天的选型,最后确定了和以上环境兼容的开源框架,希望能帮助和我遇到一样情况的朋友们。

公布结果:axis2 1.2;spring-framework 2.5.6;ibatis 2.3.0

这应该是这三个框架最后一个支持JDK1.4的版本了,现已在websphere5.1上运行正常。

 

在集成框架之前,先说一下websphere有个地方需要修改,进入到websphere下bin目录,将qname.jar删除,需要添加一个高版本的qname.jar程序,我用的是wsdl4j-qname-1.6.1.jar,否则运行axis2的时候会出现一个类型文件版本不正确的异常信息。

 

现在开始集成,这里将不说明axis2的部署,可以参考axis2.war进行配置,并不会对spring和ibatis有影响。以下的配置介绍是包括axis2的,但不会具体说明。

 

1、web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<display-name>CrmWebservice</display-name>
	<!-- 指定spring配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring/*.xml</param-value>
	</context-param>
	<!-- 指定log4j配置文件 -->
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>/WEB-INF/log4j.properties</param-value>
	</context-param>
	<!-- 指定spring监听器,由于servlet版本,不可使用spring的Listen配置方式 -->
	<servlet>
		<servlet-name>contextLoaderServlet</servlet-name>
		<servlet-class>org.springframework.web.context.ContextLoaderListener</servlet-class>
		<load-on-startup>2</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<display-name>Apache-Axis Servlet</display-name>
		<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>AxisAdminServlet</servlet-name>
		<display-name>Apache-Axis AxisAdmin Servlet (Web Admin)</display-name>
		<servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/servlet/AxisServlet</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>*.jws</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisAdminServlet</servlet-name>
		<url-pattern>/axis2-admin/*</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>index.html</welcome-file>
		<welcome-file>/axis2-web/index.jsp</welcome-file>
	</welcome-file-list>

	<error-page>
		<error-code>404</error-code>
		<location>/axis2-web/Error/error404.jsp</location>
	</error-page>

	<error-page>
		<error-code>500</error-code>
		<location>/axis2-web/Error/error500.jsp</location>
	</error-page>
</web-app>

 2、applicationContext.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="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName">
			<value>oracle.jdbc.driver.OracleDriver</value>
		</property>
		<property name="url">
			<value>jdbc:oracle:thin:@192.168.21.248:1521:recycle</value>
		</property>
		<property name="username">
			<value>crm</value>
		</property>
		<property name="password">
			<value>crm</value>
		</property>
	</bean>

	<!--spring整合ibatis -->
	<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="configLocation"><value>classpath:ibatis/SqlMapConfig.xml</value></property>
		<property name="dataSource" ref="dataSource" />
	</bean>

	<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
		<property name="sqlMapClient" ref="sqlMapClient" />
	</bean>

	<!-- 配置事务拦截器 -->
	<bean id="transactionIterceptor"
		class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="insert*">PROPAGATION_REQUIRED</prop>
				<prop key="find*,get*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>
   

	<!--事务 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
</beans>

 3、SqlMapConfig.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>
	<!-- 关联具体的ibatis配置文件 -->
	<sqlMap resource="ibatis/CrmOdexPlatAcco.xml" />
</sqlMapConfig>

 4、我的目录结构

 

基本配置完成,至少作为helloworld完成,这个时候就可以使用spring和ibatis了,还需要结构化的修改和重构,未来将不再更新,更多功能请参考spring和ibatis;

上传了我发布的源文件,由于lib目录过大,为了方便上载我就给删了,可以从开源需要的开源框架中获得!

分享到:
评论
1 楼 艾依然 2010-12-03  
谢谢分享!

相关推荐

    mybaits-spring(ibatis-spring)-1.0.2-bundle

    MyBatis-Spring是MyBatis和Spring框架的集成库,旨在简化在Spring应用中使用MyBatis的过程,实现两者的无缝连接。本篇文章将深入探讨MyBatis-Spring的核心功能,以及1.0.2版本的具体特性。 首先,我们要理解MyBatis...

    Struts+Spring+Ibatis示例

    这个"Struts+Spring+Ibatis示例"提供了一个基础的整合应用,帮助开发者理解这三者如何协同工作。 **Struts** 是一个基于 Model-View-Controller (MVC) 设计模式的Java web框架,主要负责处理用户请求,控制应用程序...

    JSF+Spring+Ibatis示例

    JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!

    Spring-Struts-IBatis-AOP-Transaction

    在 "17-Prj-Spring-Struts-IBatis-AOP-Transaction" 这个项目中,这四个框架被集成在一起,形成一个强大的 web 应用开发解决方案。Spring 作为整个系统的基石,负责依赖注入和事务管理;Struts 2 处理 HTTP 请求,...

    spring-ibatis简单集成

    在IT行业中,Spring框架与iBatis的集成是常见的数据访问解决方案,特别是在Java Web开发中。这个集成将Spring的依赖注入特性和iBatis的SQL映射功能相结合,提供了高效且灵活的数据操作方式。让我们深入探讨一下这个...

    Struts1+Spring+iBatis-jar包

    这个"Struts1+Spring+iBatis-jar包"集合了这三个框架的核心组件,为开发者提供了一个快速搭建企业级应用的基础。 Struts1是Apache软件基金会开发的一个开源MVC框架,它主要处理HTTP请求并控制应用程序的流程。...

    spring ibatis整合所需jar包

    - iBatis核心库:如ibatis-sqlmapclient、mybatis-3-x.x.jar,提供iBatis的主要功能。 - 数据库驱动:如mysql-connector-java,根据使用的数据库选择相应的驱动。 2. 配置Spring:在Spring的配置文件中,需要声明...

    Spring与iBATIS的集成

    Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...

    Spring与iBATIS的集成示例代码

    首先,集成Spring和iBATIS的关键在于配置。在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义数据源、SQLMapClient以及SqlMapClientTemplate。数据源通常使用DataSource bean来创建,例如使用...

    ibatis-sqlmap-2.jar.zip

    《深入解析iBatis-SQLMap 2》 在Java Web开发领域,iBatis作为一个优秀的持久层框架,因其灵活性和高效性而深受开发者喜爱。本文将深入探讨iBatis-SQLMap 2版本,主要关注`ibatis-sqlmap-2.jar.zip`这个压缩包中的...

    spring+ibatis集成文档

    ### Spring与iBatis集成开发详解 #### 一、引言 在Java企业级应用开发领域,Spring框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐;而iBatis(现称为MyBatis)则以其简洁的SQL映射功能而闻名。...

    ibatis-3-core-3.0.0.242.jar.zip

    ibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zipibatis-3-core-3.0.0.242.jar.zip

    spring 集成ibatis

    当我们将 Spring 与 iBatis 集成时,我们可以利用 Spring 的强大管理能力来控制 iBatis 的 SqlSession 和 SqlSessionFactory,从而实现更优雅的数据库操作。以下是一些关于 Spring 集成 iBatis 的关键知识点: 1. *...

    struts + spring + ibatis 示例

    这个"Struts + Spring + iBatis 示例"项目Demo,旨在展示如何将这三个框架集成到一个应用中,实现高效且松耦合的开发模式。 **Struts框架**是MVC(Model-View-Controller)设计模式的一种实现,主要用于处理Web应用...

    ibatis-sqlmap-2.3.4.726-sources.jar.zip_birth84v_cutting1v2_ibat

    《深入解析iBatis-SQLMap 2.3.4.726源码》 在Java开发领域,iBatis作为一个优秀的持久层框架,深受广大开发者喜爱。它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。本篇将围绕iBatis-SQLMap 2.3.4.726...

    spring-ibatis-ext-plugin.1.0.0 扩展ibaits原生SQL

    一直以来ibatis的分页都是通过滚动ResultSet实现的,应该算是逻辑分页吧。逻辑分页虽然能很干净地独立于特定数据库,但效率 在多数情况下不及特定数据库支持的物理分页,而hibernate的分页则是直接组装sql,充分...

    ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载

    这里提到的是iBATIS的三个不同版本的jar包:ibatis-2.3.4.726.jar、ibatis-2.3.0.677.jar以及ibatis-2.3.3.720.jar。 首先,让我们深入了解iBATIS的核心概念和功能: 1. **SQL Map配置**:iBATIS的核心是SQL Map...

    ibatis 缓存 - 24小时学习网.mht

    ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网ibatis 缓存 - 24小时学习网

Global site tag (gtag.js) - Google Analytics