一个配置文件(spring学习中)
spring学习笔记 2010-01-08 21:49:14
<?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/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"
>
<!-- 定义DataSource -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url" value="jdbc:hsqldb:mem:bookstore" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
<!-- 定义TransactionManager -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 定义BookDao -->
<bean id="bookDao" class="example.chapter6.BookDaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 将BookDao封装成具有事务功能 -->
<!-- 声明TxAdvice -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 对以query开头的方法要求只读事务 -->
<tx:method name="query*" read-only="true" />
<!-- 对于其他方法要求事务 -->
<tx:method name="*" rollback-for="java.io.IOException" />
</tx:attributes>
</tx:advice>
<!-- PointCut的表达式配置
execute(modifiers-pattern?
ret-type-pattern
declaring-type-pattern?
name-pattern(param-pattern)
throws-pattern?)
// 有"?"的部分表示可以省略,
modifers-pattern表示修饰符,如public何protected等,
ret-type-pattern表示方法返回类型,
declaring-type-pattern表示特定的类,
name-pattern表示参数
throws-pattern表示抛出的异常
在切入点表达式中“*”代表任意字符,“..”表示人一个参数
-->
<aop:config>
<!-- 使用AspectJ语法定义Pointcut -->
<aop:pointcut id="bookDaoOperation" expression="execution(* example.chapter6.BookDao.*(..))" />
<!-- 织入 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="bookDaoOperation" />
</aop:config>
</beans>
转载自我的163博客:http://huangyuantwl.blog.163.com/blog/static/11781460620100894914937/
还有一篇学习笔记不过主要内容就是转载javaEye上边的spring源码解析:
http://huangyuantwl.blog.163.com/blog/static/11781460620091021105822441/