慕粉0853559769
Uestc_L
慕标8516318
加个字幕能解决问题,就是成本.....
海滩小贝壳
老师不是通过配置文件的<bean></bean>标签来配置InvokeService的Bean的, 是在InvokeService类定义上面,用了@Service注解来配置的,这样子也是配置bean的一种方法,而且更加方便快捷
慕丝3014273
哈哈哈哈 我也发现了
xqliu87
有点关系,处理的原理差不多,只是没有用advisor把
那一年故乡
我想明白了,这里的pjp.proceed()前面加了一个return
狮子吃咸鱼
问题1
已经想明白了,出现异常就不会return 出去,而是被catch 捕获,傻了。
炒De饭3625477
有图有真相,看你里面的路径对没有
yohourt
没有,只不过是验证一下切入面可以被执行并且可以控制源代码的执行次数
人在梦游中
需要导入spring-dao包,如果你用maven,依赖可以这样写的:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-dao -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-dao</artifactId>
<version>2.0.8</version>
</dependency>
qq_Disorganized_04359428
是没有讲到,你可以参照一下这个博客里面的内容http://tonl.iteye.com/blog/1966075;
夜还没黑
<context:component-scan base-package="com.imooc.aop.schema"></context:component-scan>
@Service
这样应该就可以吧
连宏伟HW
一般是通过正则表达式
未卜先知
这里捕捉到异常应该一直没有办法调用pjp.proceed()方法的吧
武庚_Rehan
百度一下
weibo_热心市民吴子航_0
Spring中的事务是通过aop来实现的,当我们自己写aop拦截的时候,会遇到跟spring的事务aop执行的先后顺序问题,比如说动态切换数据源的问题,如果事务在前,数据源切换在后,会导致数据源切换失效,所以就用到了Order(排序)这个关键字.
我们可以通过在@AspectJ的方法中实现org.springframework.core.Ordered 这个接口来定义order的顺序,order 的值越小,说明越先被执行。
比如代码如下:
/**
* aop面向切面编程
*
*/@Component@Aspectpublic class AspectJ4DataBase implements Ordered{
//拦截所有的service操作
@Pointcut("execution( * com.hc.shop.*.service.*.*(..))")
public void readMethod() {
}// 匹配所有的读取操作
@Before("readMethod()")
public void onlyReadPre(){
DataSourceContextHolder.setDataSourceType(DataSourceType.MYSQL);
System.out.println("数据库切换MYSQL");
} @After("readMethod()")
public void onlyReadPast(){
DataSourceContextHolder.setDataSourceType(DataSourceType.ORACLE);
System.out.println("数据库切换回ORACLE");
} @Override
public int getOrder() { // TODO Auto-generated method stub
return 1;
}
}
在事务配置的地方也配置order 字段,代码如下:
<!-- 注解方式配置事物 --><tx:annotation-driven transaction-manager="transactionManager" order="2"/>
这样就实现了我们自己写的aop在事务介入之前就执行了!
shixiangweii
这节课的例子根本就没讲到advisor,弄了一晚上,今天才发现,就只是讲环绕通知,老师把advisor这个知识点跳过了,只有开头介绍一点点模糊的东西,后面的例子没用到,你没发现ordered的接口和pessimisticLockingFailureException这个需要导入advisor需要用的tx包都没讲。。。
本来就难懂了,还设置了这么多迷魂阵
qq_清风拂面_0
这节课反正没看懂想说什么。
qq_清风拂面_0
阿乐子
慕先生8608371
我觉得老师讲得已经很清楚了,如果你觉得老师讲的不好的话,可以看文档(http://shouce.jb51.net/spring/aop.html)
elang3000
luxueyan
麻烦具体描述一下是哪里的实例不是一个啊?
xigua366