spring mvc 启动加载+ibatis 怎样配置自动加载多个sqlmap.xml文件

2009人阅读
& & & & & &上一篇博客讲述了Struts2+Spring的集成合并,主要是利用了一个中间jar包,这篇博客在加上Ibatis持久层框架,三个框架进行合并。其中Struts2和Spring部分和前边的一样,主要是讲解Spring和Ibatis之间的合并,这里也涉及到Spring的AOP编程思想,声明式事务的使用。
&&&&&&&&一,看一下分工吧:
&&&&&&&&&&&&&&&&& Struts2:负责流程控制,主要针对的是从JSP页面到action类这一块的步骤。
&&&&&&&&&&&&&&&&& Spring:负责各个类,对象的创建,包括action,service,dao,数据连接对象,Ibatis框架的核心对象sqlMapClient,Spring自身的事务处理扩展对象transactionManager。
&&&&&&&&&&&&&&&& Ibatis:负责对JDBC的封装,简化访问数据的程序。
&&&&&&&&二,环境的搭建:
&&&&&&&&&&&&&&&&&& 1,需要考入的jar包:
commons-fileupload-1.2.1.jar(Struts2:文件上传)
commons-io-1.3.2.jar(Struts2:文件上传)
freemarker-2.3.15.jar(Struts2:视图展现技术)
ognl-2.7.3.jar(Struts2:对象图形导航语言,用于做数据操作)
struts2-core-2.1.8.1.jar(Struts2:核心jar包)
xwork-core-2.1.6.jar(Struts2:webwork框架的核心jar包)
commons-logging.jar(Spring:日志输出操作,实现日志输出的转换)
junit-3.8.2.jar(非必须:单元测试jar包)
log4j-1.2.15.jar(非必须:日志输出jar包)
spring.jar(Spring:核心jar包)
struts2-spring-plugin-2.1.8.1.jar(Struts2和Spring的合并jar包)
c3p0-0.9.1.2.jar(做数据源操作的jar包)
ibatis-2.3.4.726.jar(Ibatis:核心jar包)
ojdbc14.jar(oracle数据库的连接jar包)
aspectjrt.jar(Spring:支持AOP功能的jar包)
aspectjweaver.jar(Spring:支持AOP功能的jar包)
cglib-nodep-2.1_3.jar(Spring:实现基于继承的动态代理)
& & & & & & & & & 2,拷贝进去的配置文件:
&&&&&&&&&&&&&&&&&&&&&& Struts2:struts.xml
&&&&&&&&&&&&&&&&&&&&&&Spring:applicationContext.xml
&&&&&Ibatis:SqlMapConfig.xml&&和SqlMap.xml
&&&&&日志输出的属性文件:log4j.properties
&&&&&&配置数据库连接信息:db.properties
& & & & & &&三,各个配置文件的编写:
&&&&&&&&&&&&&&&&& 1,struts.xml中,主要用来配置action类,
&package name=&system& namespace=&/system& extends=&struts-default&&
&action name=&insertUser& class=&userAction& method=&insert&&
&result name=&success& type=&redirect&&/userlist.jsp&/result&
&result name=&error& type=&redirect&&/error.jsp&/result&
&/package&
& & & & & & & & &2,applicationContext.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.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=&loginAction& class=&com.ljh.action.LoginAction& scope=&prototype&&
&property name=&userService& ref=&userService&&&/property&
&!-- action层类的设置,关联service --&
&bean id=&userAction& class=&com.ljh.action.UserAction& scope=&prototype&&
&property name=&userService& ref=&userService&&&/property&
&!-- service层类的设置,关联dao --&
&bean id=&userService& class=&com.ljh.service.UserService& &
&property name=&userDao& ref=&userDao&&&/property&
&!-- dao层类的设置 ,关联sqlMapClient--&
&bean id=&userDao& class=&com.ljh.dao.UserDao&&
&property name=&sqlMapClient& ref=&sqlMapClient&&&/property&
&!-- 表示把属性资源文件的信息加载到Spring环境中进行利用 --&
&bean class=&org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer&&
&property name=&locations&&
&value&classpath:db.properties&/value&
&/property&
&!-- 配置C3P0数据源连接池,通过读取属性文件 --&
&bean id=&c3p0& class=&com.mchange.boPooledDataSource&&
&property name=&user& value=&${username}&&&/property&
&property name=&password& value=&${password}&&&/property&
&property name=&jdbcUrl& value=&${url}&&&/property&
&property name=&driverClass& value=&${driverClass}&&&/property&&&&&&&&&&&&&&&&&
&!-- IBatis核心对象sqlMapClient的声明 ,通过工厂SqlMapClientFactoryBean和IBatis核心配置文件--&
&bean id=&sqlMapClient& class=&org.springframework.orm.ibatis.SqlMapClientFactoryBean&&
&property name=&dataSource& ref=&c3p0&&&/property&
&property name=&configLocations&&
&value&classpath:SqlMapConfig.xml&/value&
&/property&
&!-- 配置功能扩展对象 - 事务管理,通过c3p0 --&
&bean id=&transactionManager& class=&org.springframework.jdbc.datasource.DataSourceTransactionManager&&
&property name=&dataSource& ref=&c3p0&&&/property&
&!-- 声明事务管理AOP功能 --&
&aop:config&
&aop:advisor advice-ref=&transactionAdvice& pointcut=&execution(* com.ljh.service.*.*(..))&/&&&&&&&&&
&/aop:config&&&&&&&&&
&!--事务的配置--&
&tx:advice id=&transactionAdvice& transaction-manager=&transactionManager&&
&tx:attributes&
&tx:method name=&save*& propagation=&REQUIRED& isolation=&DEFAULT& rollback-for=&java.lang.Exception&/&
&tx:method name=&delete*& propagation=&REQUIRED& isolation=&DEFAULT& rollback-for=&java.lang.Exception&/&
&tx:method name=&update*& propagation=&REQUIRED& isolation=&DEFAULT& rollback-for=&java.lang.Exception&/&
&tx:method name=&select*& read-only=&true&/&
&/tx:attributes&
&/tx:advice&
& & & & & & & & & &3,SqlMapConfig.xml
&sqlMapConfig&
&!-- 只需配置映射文件即可 --&
&sqlMap resource=&com/ljh/bean/User.xml& /&
&/sqlMapConfig&
& & & & & & & & & &4,User.xml(SqlMap.xml)
&sqlMap namespace=&empSQL&&
&insert id=&insertUserSQL&&
insert into t_user(usercode,userpswd,username,orgtype,regdate) values(#usercode#,#userpswd#,#username#,#orgtype#,#regdate#)
& & & & & & & & & & &5,属性文件db.properties:
url=jdbc:oracle:thin:@127.0.0.1:1521:ljh
driverClass=oracle.jdbc.driver.OracleDriver
username=scott
password=ti
& & & & & &&四,对于jsp和其他三层这里不再给出。但是提醒一点,service中需要将Exception剖出,这样才会被框架捕捉到,事务才能起作用。Dao层可以直接使用sqlMapClient来调用其中的增删改查的方法。
&&&&&&&&&&&这样我们的三个框架的合并就算完成,在实际中,根据业务进行相关类的添加,相关配置文件的补充即可。总之多运用。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:335537次
积分:10309
积分:10309
排名:第535名
原创:228篇
评论:3040条
文章:23篇
阅读:37142
阅读:12380
文章:10篇
阅读:11301
文章:12篇
阅读:15196
(1)(1)(5)(4)(3)(3)(6)(1)(4)(10)(26)(10)(5)(11)(4)(2)(7)(7)(4)(4)(6)(5)(3)(4)(3)(4)(9)(13)(3)(10)(12)(3)(3)(5)(4)(6)(12)(1)(7)(1)(2)2010人阅读
& & & & & &上一篇博客讲述了Struts2+Spring的集成合并,主要是利用了一个中间jar包,这篇博客在加上Ibatis持久层框架,三个框架进行合并。其中Struts2和Spring部分和前边的一样,主要是讲解Spring和Ibatis之间的合并,这里也涉及到Spring的AOP编程思想,声明式事务的使用。
&&&&&&&&一,看一下分工吧:
&&&&&&&&&&&&&&&&& Struts2:负责流程控制,主要针对的是从JSP页面到action类这一块的步骤。
&&&&&&&&&&&&&&&&& Spring:负责各个类,对象的创建,包括action,service,dao,数据连接对象,Ibatis框架的核心对象sqlMapClient,Spring自身的事务处理扩展对象transactionManager。
&&&&&&&&&&&&&&&& Ibatis:负责对JDBC的封装,简化访问数据的程序。
&&&&&&&&二,环境的搭建:
&&&&&&&&&&&&&&&&&& 1,需要考入的jar包:
commons-fileupload-1.2.1.jar(Struts2:文件上传)
commons-io-1.3.2.jar(Struts2:文件上传)
freemarker-2.3.15.jar(Struts2:视图展现技术)
ognl-2.7.3.jar(Struts2:对象图形导航语言,用于做数据操作)
struts2-core-2.1.8.1.jar(Struts2:核心jar包)
xwork-core-2.1.6.jar(Struts2:webwork框架的核心jar包)
commons-logging.jar(Spring:日志输出操作,实现日志输出的转换)
junit-3.8.2.jar(非必须:单元测试jar包)
log4j-1.2.15.jar(非必须:日志输出jar包)
spring.jar(Spring:核心jar包)
struts2-spring-plugin-2.1.8.1.jar(Struts2和Spring的合并jar包)
c3p0-0.9.1.2.jar(做数据源操作的jar包)
ibatis-2.3.4.726.jar(Ibatis:核心jar包)
ojdbc14.jar(oracle数据库的连接jar包)
aspectjrt.jar(Spring:支持AOP功能的jar包)
aspectjweaver.jar(Spring:支持AOP功能的jar包)
cglib-nodep-2.1_3.jar(Spring:实现基于继承的动态代理)
& & & & & & & & & 2,拷贝进去的配置文件:
&&&&&&&&&&&&&&&&&&&&&& Struts2:struts.xml
&&&&&&&&&&&&&&&&&&&&&&Spring:applicationContext.xml
&&&&&Ibatis:SqlMapConfig.xml&&和SqlMap.xml
&&&&&日志输出的属性文件:log4j.properties
&&&&&&配置数据库连接信息:db.properties
& & & & & &&三,各个配置文件的编写:
&&&&&&&&&&&&&&&&& 1,struts.xml中,主要用来配置action类,
&package name=&system& namespace=&/system& extends=&struts-default&&
&action name=&insertUser& class=&userAction& method=&insert&&
&result name=&success& type=&redirect&&/userlist.jsp&/result&
&result name=&error& type=&redirect&&/error.jsp&/result&
&/package&
& & & & & & & & &2,applicationContext.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.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=&loginAction& class=&com.ljh.action.LoginAction& scope=&prototype&&
&property name=&userService& ref=&userService&&&/property&
&!-- action层类的设置,关联service --&
&bean id=&userAction& class=&com.ljh.action.UserAction& scope=&prototype&&
&property name=&userService& ref=&userService&&&/property&
&!-- service层类的设置,关联dao --&
&bean id=&userService& class=&com.ljh.service.UserService& &
&property name=&userDao& ref=&userDao&&&/property&
&!-- dao层类的设置 ,关联sqlMapClient--&
&bean id=&userDao& class=&com.ljh.dao.UserDao&&
&property name=&sqlMapClient& ref=&sqlMapClient&&&/property&
&!-- 表示把属性资源文件的信息加载到Spring环境中进行利用 --&
&bean class=&org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer&&
&property name=&locations&&
&value&classpath:db.properties&/value&
&/property&
&!-- 配置C3P0数据源连接池,通过读取属性文件 --&
&bean id=&c3p0& class=&com.mchange.boPooledDataSource&&
&property name=&user& value=&${username}&&&/property&
&property name=&password& value=&${password}&&&/property&
&property name=&jdbcUrl& value=&${url}&&&/property&
&property name=&driverClass& value=&${driverClass}&&&/property&&&&&&&&&&&&&&&&&
&!-- IBatis核心对象sqlMapClient的声明 ,通过工厂SqlMapClientFactoryBean和IBatis核心配置文件--&
&bean id=&sqlMapClient& class=&org.springframework.orm.ibatis.SqlMapClientFactoryBean&&
&property name=&dataSource& ref=&c3p0&&&/property&
&property name=&configLocations&&
&value&classpath:SqlMapConfig.xml&/value&
&/property&
&!-- 配置功能扩展对象 - 事务管理,通过c3p0 --&
&bean id=&transactionManager& class=&org.springframework.jdbc.datasource.DataSourceTransactionManager&&
&property name=&dataSource& ref=&c3p0&&&/property&
&!-- 声明事务管理AOP功能 --&
&aop:config&
&aop:advisor advice-ref=&transactionAdvice& pointcut=&execution(* com.ljh.service.*.*(..))&/&&&&&&&&&
&/aop:config&&&&&&&&&
&!--事务的配置--&
&tx:advice id=&transactionAdvice& transaction-manager=&transactionManager&&
&tx:attributes&
&tx:method name=&save*& propagation=&REQUIRED& isolation=&DEFAULT& rollback-for=&java.lang.Exception&/&
&tx:method name=&delete*& propagation=&REQUIRED& isolation=&DEFAULT& rollback-for=&java.lang.Exception&/&
&tx:method name=&update*& propagation=&REQUIRED& isolation=&DEFAULT& rollback-for=&java.lang.Exception&/&
&tx:method name=&select*& read-only=&true&/&
&/tx:attributes&
&/tx:advice&
& & & & & & & & & &3,SqlMapConfig.xml
&sqlMapConfig&
&!-- 只需配置映射文件即可 --&
&sqlMap resource=&com/ljh/bean/User.xml& /&
&/sqlMapConfig&
& & & & & & & & & &4,User.xml(SqlMap.xml)
&sqlMap namespace=&empSQL&&
&insert id=&insertUserSQL&&
insert into t_user(usercode,userpswd,username,orgtype,regdate) values(#usercode#,#userpswd#,#username#,#orgtype#,#regdate#)
& & & & & & & & & & &5,属性文件db.properties:
url=jdbc:oracle:thin:@127.0.0.1:1521:ljh
driverClass=oracle.jdbc.driver.OracleDriver
username=scott
password=ti
& & & & & &&四,对于jsp和其他三层这里不再给出。但是提醒一点,service中需要将Exception剖出,这样才会被框架捕捉到,事务才能起作用。Dao层可以直接使用sqlMapClient来调用其中的增删改查的方法。
&&&&&&&&&&&这样我们的三个框架的合并就算完成,在实际中,根据业务进行相关类的添加,相关配置文件的补充即可。总之多运用。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:335538次
积分:10309
积分:10309
排名:第535名
原创:228篇
评论:3040条
文章:23篇
阅读:37142
阅读:12380
文章:10篇
阅读:11301
文章:12篇
阅读:15196
(1)(1)(5)(4)(3)(3)(6)(1)(4)(10)(26)(10)(5)(11)(4)(2)(7)(7)(4)(4)(6)(5)(3)(4)(3)(4)(9)(13)(3)(10)(12)(3)(3)(5)(4)(6)(12)(1)(7)(1)(2)扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
spring mvc +ibatis+db2连接数据库的配置如何写啊小弟我链接不下
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口推荐出版社
购物车 0 件商品 共 ?0.0 元
购买本商品的顾客还买过
Java高手真经:应用框架卷:Java Web核心框架:Struts 1+Struts 2+Spring+Hibernate+iBATIS
出版日期:2009-03
开本:16开
包装:平装
定价:89.9
折扣:88折
蔚蓝价:?79.1
vip(2-3星):?77.3
svip(4-5星):?75.5
商品评论(0)
商品问答(0)}

我要回帖

更多关于 spring mvc ibatis 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信