部分spring配置带注释(一)

本文介绍了如何在Spring框架中配置C3P0连接池作为数据源,并详细说明了配置参数的意义及作用。此外,还展示了如何通过Spring AOP实现事务管理,包括事务传播级别及回滚机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   // 和上面的都是对应存在的
        http://www.springframework.org/schema/beans   
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
        http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

<!-- 配置数据源 -->

<!-- 定义使用C3P0连接池的数据源 -->  

<bean id="dbDataSource"
      class="com.mchange.v2.c3p0.ComboPooledDataSource"
      destroy-method="close">
<!-- 指定连接数据库的JDBC驱动 -->  
    <property name="driverClass">
        <value>${jdbc.driverClassName}</value>
    </property>
<!-- 连接数据库所用的URL --> 
    <property name="jdbcUrl">
        <value>${jdbc.db.url}</value>
    </property>
 <!-- 连接数据库的用户名 -->  
    <property name="user">
        <value>${jdbc.db.username}</value>
    </property>
 <!-- 连接数据库的密码 --> 
    <property name="password">
        <value>${jdbc.db.password}</value>
    </property>
<!-- 设置数据库连接池的最大连接数 -->  
    <property name="maxPoolSize">
        <value>${jdbc.maxPoolSize}</value>
    </property>
<!-- 设置数据库连接池的最小连接数 -->  
    <property name="minPoolSize">
        <value>${jdbc.minPoolSize}</value>
    </property>
<!-- 设置数据库连接池的初始化连接数 -->  
    <property name="idleConnectionTestPeriod">
        <value>${jdbc.idleConnectionTestPeriod}</value>
    </property>
<!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 -->  
    <property name="maxIdleTime">
        <value>${jdbc.maxIdleTime}</value>
    </property>
    <property name="testConnectionOnCheckout">
        <value>${jdbc.testConnectionOnCheckout}</value>
    </property>
</bean>
<!-- 配置一个事务通知 --> 
<tx:advice id="txAdvice" transaction-manager="dbTransactionManager">
    <tx:attributes>
        <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="delete*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="remove*" propagation="REQUIRED" rollback-for="Exception"/>
        <tx:method name="*" read-only="true"/>
    </tx:attributes>
</tx:advice>

<!-- 使用XML来使用事务管理-->  
<aop:config>
<!-- 配置一个切面,和需要拦截的类和方法 -->   
    <aop:pointcut id="txPointcut" expression="execution(* com..service.*.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config>
</beans>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值