- 浏览: 32098 次
- 性别:
- 来自: 北京
最新评论
前几天自己利用下班的时间写了一下spring与IBatis的工程配置,整个工程分为三层:DAO, SERVICE, CONTROLLER。 相信很多人都很熟悉。下面我把我整个工程的配置文件分享给大家,作为处级搭建工程的模版吧。
下图是整个工程的结构图:
接下来我们分别介绍每个配置文件:
1. web.xml
web.xml主要是用于配置spring MVC的分发器以及listener(监听器)
2. applicationContext.xml
在applicationContext中主要配置了spring的事务管理器, 视图解析器, 还有就是数据库连接设置信息。数据库的设置信息也可以配置在database.properties当中,在这里我省去了这一步骤。
sqlMapConfig.xml
这个文件很简单,就是ibatis的数据库表操作的配置。详细内容如下:
UserBaseInfo.xml对应的是ibatis对于数据库model的映射以及操作处理,在这里也把配置操作贴出来给大家:
UserBaseInfo.xml
上面也介绍完了ibatis的接触配置,那么下面我们将介绍工程各个层级之间的配置:
userbaseinfo_DAO.xml
在这里我们配置了SqlMapClientFactoryBean, 它完成了spring 与ibatis的结合。这里不多讲了,大家自己看配置文件一下就明白了。
配置到这里我们应该吧DAO层的一个类的代码贴出来,让大家看看如何调用spring提供的ORM来操作数据库。从配置文件中已经可以看出就是通过sqlmapclient来进行。
接下来的SERVCE层和controller实际上就是利用spring的IOC来注入前一层次的类进行业务操作。这里不做过多介绍只是把代码贴给大家:
one-service.xml
controller.xml
在controller层为了减少java类的生成,我们利用了spring方法多处理器来进行方法的映射。
值此整个工程配置文件结束。希望对大家有点帮助。
下图是整个工程的结构图:
接下来我们分别介绍每个配置文件:
1. web.xml
web.xml主要是用于配置spring MVC的分发器以及listener(监听器)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>PregnantProject</display-name> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> WEB-INF/applicationContext.xml, WEB-INF/controller_config/controller-config.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
2. applicationContext.xml
在applicationContext中主要配置了spring的事务管理器, 视图解析器, 还有就是数据库连接设置信息。数据库的设置信息也可以配置在database.properties当中,在这里我省去了这一步骤。
<?xml version="1.0" encoding="UTF-8"?> <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.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!--事务管理DataSourceTransactionManager--> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean> <!-- 异常解析器 --> <bean id="simpleMappingExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">common/fileerror</prop> </props> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>12456</value> </property> <property name="url"> <value>jdbc:mysql://127.0.0.1:3306/pregnant</value> </property> </bean> </beans>
sqlMapConfig.xml
这个文件很简单,就是ibatis的数据库表操作的配置。详细内容如下:
<?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/pregnant/config/bean/UserBaseinfo.xml"/> </sqlMapConfig>
UserBaseInfo.xml对应的是ibatis对于数据库model的映射以及操作处理,在这里也把配置操作贴出来给大家:
UserBaseInfo.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="UserBase"> <typeAlias alias="UserBaseInfo" type="com.pregnant.model.UserBaseInfo"/> <select id="getAllPerson" resultClass="UserBaseInfo"> SELECT * FROM user_baseInfo; </select> <insert id="insertOneUser" parameterClass="java.util.Map"> insert into user_baseInfo values(#userName#,#userEmail#,#userPhone#,#userPasswd#) </insert> <select id="getUserByEmail" resultClass="UserBaseInfo"> select * from user_baseInfo where userEmail = #email# </select> </sqlMap>
上面也介绍完了ibatis的接触配置,那么下面我们将介绍工程各个层级之间的配置:
userbaseinfo_DAO.xml
在这里我们配置了SqlMapClientFactoryBean, 它完成了spring 与ibatis的结合。这里不多讲了,大家自己看配置文件一下就明白了。
<?xml version="1.0" encoding="UTF-8"?> <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.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <import resource="../applicationContext.xml"/> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="dataSource"> <ref bean="dataSource"/> </property> <property name="configLocation"> <value>WEB-INF/dao_config/sqlMapConfig.xml</value> </property> </bean> <bean id="userBaseInfoDao" class="com.pregnant.daoImpl.UserBaseInfoDaoimpl"> <property name="sqlMapClient" ref="sqlMapClient"/> </bean> </beans>
配置到这里我们应该吧DAO层的一个类的代码贴出来,让大家看看如何调用spring提供的ORM来操作数据库。从配置文件中已经可以看出就是通过sqlmapclient来进行。
package com.pregnant.daoImpl; import java.util.List; import java.util.Map; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.pregnant.dao.IUserBaseInfoDao; import com.pregnant.model.UserBaseInfo; public class UserBaseInfoDaoimpl extends SqlMapClientDaoSupport implements IUserBaseInfoDao{ public List<UserBaseInfo> getAllUser(){ List<UserBaseInfo> list = getSqlMapClientTemplate().queryForList("UserBase.getAllPerson"); return list; } @Override public UserBaseInfo getUserByEmail(String email) { UserBaseInfo oneUser = (UserBaseInfo) getSqlMapClientTemplate().queryForObject(email); return oneUser; } @Override public void insertUserbaseInfo(Map info) { getSqlMapClientTemplate().insert("insertOneUser", info); return; } }
接下来的SERVCE层和controller实际上就是利用spring的IOC来注入前一层次的类进行业务操作。这里不做过多介绍只是把代码贴给大家:
one-service.xml
<?xml version="1.0" encoding="UTF-8"?> <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.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <import resource="../dao_config/userbaseinfo_dao.xml"/> <bean id="userBaseInfoService" class="com.pregnant.serviceImpl.UserBaseInfoServiceImpl"> <property name="userBaseInfoDao"> <ref bean="userBaseInfoDao"/> </property> </bean> </beans>
controller.xml
<?xml version="1.0" encoding="UTF-8"?> <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.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <import resource="../service_config/one_service.xml"/> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="userBaseHandle.do">userBaseInfoController</prop> </props> </property> </bean> <bean id="paraMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="whichMethod"/> </bean> <bean id="userBaseInfoController" class="com.pregnant.controller.UserBaseInfoController"> <property name="methodNameResolver"> <ref bean="paraMethodResolver"/> </property> <property name="userBaseInfoService"> <ref bean="userBaseInfoService"/> </property> </bean>
在controller层为了减少java类的生成,我们利用了spring方法多处理器来进行方法的映射。
值此整个工程配置文件结束。希望对大家有点帮助。
发表评论
-
分库,分表,纵表,水平,垂直划分
2013-04-10 16:52 0等待书写内容 -
107条Javascript的常用语句
2012-10-25 21:56 0107条Javascript的常用语句 1. ... -
HttpClient 学习整理
2012-10-12 11:19 1087HttpClient 学习整理 <转自>http ... -
java时间操作简单记录
2012-10-12 10:57 825进行开发的时候遇到了java时间的操作,下面简单的把代码写下来 ... -
mysql开发中点滴简单但是需要查找的问题
2012-10-10 17:26 01. 怎么样将java中的date类型插入到mysql的dat ... -
CSS工程的开发积累
2012-10-09 14:19 01. 列表项图像 有时候,常规的标志不够与页面的展示, ... -
Spring加载resource时classpath*:与classpath:的区别
2012-09-24 19:46 1208Spring加载resource时classpath*:与cl ... -
tomcat集群设置方法
2012-08-27 20:48 744APACHE 2.2.8+TOMCAT6.0.14配置负载均衡 ... -
SQL语句整理【转】
2012-08-09 13:09 921一、基础 1、说明:创建数据库 CREATE DATABASE ... -
mysql CONSTRANT(约束) 复习
2012-08-06 08:48 1136约束(Constraint)是Micros ... -
ibatis 模糊查询语句总结
2012-07-27 22:10 1110在涉及到ibatis的条件查询的时候,有下面几种查询方式: i ... -
Python 画图学习入门
2012-07-22 15:48 10533Python:使用matplotlib绘制图表 pyth ... -
mysql数据库的导入和导出
2012-07-22 09:14 792MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL ... -
LInux安装 java和tomcat
2012-06-12 16:23 1121这是一个简单的安装步骤,但是之前自己不熟悉linux的系统,所 ... -
java枚举类型(十分钟的复习)
2012-03-27 14:35 638枚举类型代码: public enum Color{ ... -
网站开发中安全问题初探
2012-03-26 13:07 749一个简单经典的SQL语句注入侵入: 一个网站需要用户输入use ... -
[转] Spring中配置log4j
2012-03-20 07:41 1080转 Spring中配置log4j 首先需要在web.xml进 ... -
spring 注解机制和XML配置机制之间的比较
2012-03-20 07:32 2948spring的annotation注入机制 ... -
java技术之泛型的学习
2011-03-18 18:05 658这是一年之前的PPT分享了,分享给峰哥,剑军,老付他们。很感谢 ...
相关推荐
3. **异常处理**:Spring框架中的异常处理机制可以很好地与iBATIS相结合,统一处理数据库操作过程中可能出现的各种异常情况。 4. **DAO支持**:Spring为DAO(Data Access Object)提供了丰富的支持,包括DAO抽象层...
Struts的拦截器(Interceptor)可以与Spring结合,实现更复杂的业务逻辑。iBatis则通过SqlSessionFactory和SqlSession对象,根据配置的XML映射文件执行SQL,返回数据供业务层使用。 总的来说,Spring Struts iBatis...
Spring 和 iBATIS 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 是一个全面的后端开发框架,提供依赖注入、面向切面编程、事务管理等功能;而 iBATIS 是一个持久层框架,它简化了...
根据提供的文件信息,本文将详细解析如何在Spring与ibatis框架整合时,通过特定配置来保留ibatis事务处理机制,并实现对事务的自定义控制。文章将围绕标题、描述及部分代码片段展开讨论。 ### Spring与ibatis整合...
在Java Web开发中,Spring和iBATIS是两个非常重要的框架。Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)等功能,而iBATIS则是一个持久层框架,用于简化数据库操作。本示例代码旨在展示如何...
通过这种方式,开发人员可以利用Struts2的控制层、Spring的服务层管理和依赖注入,以及Hibernate或Ibatis的数据访问能力,构建出高效且可扩展的Web应用。这些整合示例可以帮助初学者快速理解各个组件的交互方式,...
在IT行业中,Spring框架与iBatis的集成是常见的数据访问解决方案,特别是在Java Web开发中。这个集成将Spring的依赖注入特性和iBatis的SQL映射功能相结合,提供了高效且灵活的数据操作方式。让我们深入探讨一下这个...
总结来说,"spring+ibatis配置实例"是一个完整的Java Web项目,它展示了如何利用Spring框架进行服务层和控制层的构建,结合iBatis进行数据访问。通过学习这个实例,开发者可以更好地理解Spring和iBatis的整合使用,...
Struts2、Spring和iBatis是Java Web开发中非常重要的三个开源框架,它们的整合使用可以构建出高效、灵活的MVC(Model-View-Controller)架构的应用程序。Struts2作为表现层框架,负责处理HTTP请求和响应;Spring作为...
### Spring与iBatis集成开发详解 #### 一、引言 在Java企业级应用开发领域,Spring框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐;而iBatis(现称为MyBatis)则以其简洁的SQL映射功能而闻名。...
Spring 3.2 与 iBatis 的整合是Java企业级开发中常见的一种技术组合,它结合了Spring的依赖注入和事务管理能力以及iBatis的SQL映射框架的灵活性。这种整合允许开发者将业务逻辑与数据访问层解耦,提高了代码的可维护...
"spring-ibatis"项目的核心目标就是将Spring的依赖注入特性和iBatis的数据访问能力结合起来,使得开发人员可以更方便地管理数据库事务,同时保持代码的清晰和解耦。 首先,让我们深入了解这两个框架。Spring是一个...
在IT行业中,Spring框架与iBatis(现为MyBatis)的整合是常见的数据访问层解决方案,尤其在企业级应用开发中极为普遍。Spring是一个全面的Java应用程序框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-...
Spring、iBatis和Oracle的结合提供了强大的数据处理能力。本文将深入探讨这些技术如何协同工作,实现高效的分页缓存策略。 首先,Spring是一个开源的Java框架,它为开发人员提供了依赖注入(DI)和面向切面编程...
**Cairngorm与Spring+iBatis的结合** 结合`Cairngorm`、`Spring`和`iBatis`,可以创建出一套完整的客户端-服务器端架构。在客户端,`Cairngorm`负责处理用户交互、模型的更新以及视图的展示;而在服务器端,`Spring...
这个"struts+spring+ibatis的Demo"压缩包文件提供了这三个框架集成使用的示例代码,旨在帮助开发者理解和学习如何将它们有效地结合在一起。 **Struts 2框架** Struts 2是一个基于MVC设计模式的Web应用框架,它继承...
iBatis 与Spring 结合使用,可以利用Spring的事务管理功能,实现更高级别的数据访问控制。 3. **Hibernate**:虽然标签中提到了Hibernate,但在这个项目中并未明确提及。Hibernate 是另一种ORM(对象关系映射)框架...
Spring整合iBatis是将流行的Java持久层框架iBatis与Spring框架集成,以实现更高效、更...总之,Spring与iBatis的整合是Java开发中常用的一种数据库访问模式,对于理解和掌握企业级应用的架构设计有着重要的实践意义。