<?xml version="1.0" encoding="GBK"?> <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"> <!-- 加载数据库连接properties文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location"> <value>classpath:jdbc.properties</value> </property> </bean> <!-- 配置数据源,proxool连接池 --> <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="driver"> <value>${database.driver}</value> </property> <property name="driverUrl"> <value>${database.url}</value> </property> <property name="user"> <value>${database.username}</value> </property> <property name="password"> <value>${database.password}</value> </property> <!-- 连接池别名 --> <property name="alias"> <value>MyPool</value> </property> <property name="simultaneousBuildThrottle"> <value>${database.connection.simultaneousBuildThrottle}</value> </property> <!-- 最少保持的空闲连接数 --> <property name="prototypeCount"> <value>${database.connection.prototypeCount}</value> </property> <!-- 允许最小连接数 --> <property name="minimumConnectionCount"> <value>${database.connection.minimumConnectionCount}</value> </property> <!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由simultaneous-build-throttle决定;默认值为15 --> <property name="maximumConnectionCount"> <value>${database.connection.maximumConnectionCount}</value> </property> <!-- 线程处于睡眠状态的最长时间,housekeeper检查各个连接的状态,判断是否需要销毁或者创建 --> <property name="houseKeepingSleepTime"> <value>${database.connection.houseKeepingSleepTime}</value> </property> <!-- 如果housekeeper检测到某个线程的活动时间大于这个数值.它将会杀死这个线程(默认为5分钟) --> <property name="maximumActiveTime"> <value>${database.connection.maximumActiveTime}</value> </property> <!-- 是否打印执行的SQL,true打印,false不打印 --> <property name="trace"> <value>${database.connection.trace}</value> </property> <property name="verbose"> <value>${database.connection.verbose}</value> </property> <property name="houseKeepingTestSql" value="SELECT SYSDATE FROM DUAL" /> </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:ibatis/custom/SqlMapConfig.xml</value> </property> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> <!--根据sqlMapClien创建一个SqlMapClient模版类--> <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"> <property name="sqlMapClient"> <ref bean="sqlMapClient" /> </property> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 配置事务的传播特性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="select*" read-only="true" /> <tx:method name="query*" read-only="true" /> <tx:method name="get*" read-only="true" /> <tx:method name="find*" read-only="true" /> <tx:method name="load*" read-only="true" /> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <!-- 配制哪些类哪些方法使用事务 --> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution(* com.tempus.tmc.*.service.*.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod" /> </aop:config> </beans>
相关推荐
很好的spring+ibatis事务的配置文档.
1. **Spring配置文件示例** 给定的XML配置文件展示了如何在Spring中配置ibatis数据源以及ibatis事务管理器。首先,注释掉的`BasicDataSource`部分是用来配置数据源的,这里没有启用,而是选择了使用JNDI数据源。...
"spring+ibatis配置实例"这个项目提供了一个完整的开发环境,包含所需的依赖包和标准化的项目结构,对初学者或开发者来说极具价值。 Spring是一个全面的Java应用框架,它提供了依赖注入(Dependency Injection,DI...
6. 配置Spring扫描DAO接口:在Spring配置文件中,使用`<context:component-scan>`元素扫描包含DAO接口的包,以便Spring能自动创建bean。 7. 事务配置:根据业务需求,配置Spring的事务管理器,如...
在 Flex 应用中,通常会通过 Spring 配置 iBATIS,创建 DAO(Data Access Object)层,实现与数据库的交互。 Cairngorm 和 pureMVC 是两种常用的 Flex 应用架构模式。Cairngorm 是一种轻量级的 MVC(Model-View-...
在SpringMVC+Spring+Ibatis的架构中,多数据源配置是一项重要特性。这允许应用连接到多个数据库,根据业务需求选择合适的数据库进行操作。在Spring中,可以通过DataSourceRouter或AbstractRoutingDataSource实现动态...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
4. **配置iBATIS**:编写sqlmap.xml文件,定义SQL语句,包括SELECT、INSERT、UPDATE和DELETE。 5. **实现业务逻辑**:在Service实现类中调用iBATIS的SqlMapClient进行数据库操作。 6. **创建视图**:使用JSP或其他...
Struts、Spring 和 iBatis 是 Java Web 开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且易于维护的系统架构。这个"Struts+Spring+Ibatis示例"提供了一个基础的整合应用,帮助开发者理解这三者如何...
解压后,我们可以深入研究具体的实现细节,例如`WEB-INF`目录下的Spring配置文件、iBatis的映射文件、DAO接口及其实现等。 总的来说,Spring和iBatis的整合使得开发人员能够利用Spring的高级特性,如依赖注入和事务...
2. **配置Spring**:接下来,需要在Spring的配置文件中定义iBATIS的SqlMapClient或SqlSessionFactory Bean,并配置数据源、事务管理器等相关属性。 3. **定义映射文件**:iBATIS的核心在于定义SQL映射文件,这些...
2. **配置iBatis**:创建一个`SqlSessionFactoryBean`,它负责创建`SqlSessionFactory`,这是iBatis的核心对象。需要配置数据源、配置文件路径等信息。 ```xml <bean id="sqlSessionFactory" class="org.spring...
3. **配置Spring**:创建Spring配置文件,定义bean,包括Struts的Action类、iBatis的SqlSessionFactory等。 4. **配置Struts**:设置struts.xml文件,定义Action和结果视图,同时配置与Spring的整合。 5. **配置...
3. **配置文件**:在整合过程中,需要配置两部分:Spring 配置文件(如 `applicationContext.xml`)和 iBATIS 配置文件(如 `sqlMapConfig.xml`)。Spring 配置文件中定义数据源、事务管理器以及 ...
Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博
6. **整合Spring和iBatis**:在Spring配置文件中配置SqlSessionFactory,使用SqlSessionTemplate或SqlSessionDaoSupport来实现DAO层。 7. **编写业务逻辑**:创建Action类,注入业务服务,调用服务方法完成业务逻辑...
1. **配置文件**:如struts.xml、spring配置文件(可能包含applicationContext.xml和struts-spring.xml)、ibatis的配置文件(sqlMapConfig.xml)。 2. **实体类(Entity)**:表示数据库中的表结构。 3. **Mapper...
4. **Spring配置**:创建Spring配置文件,配置Bean、DataSource、TransactionManager等。 5. **iBATIS配置**:设置SqlMapConfig.xml文件,配置数据源、SQL映射文件路径等。 6. **WebWork配置**:配置web.xml,设置...