java Spring中AOP通知的问题

//前置通知@Before("anyMethod()")//before:之前通知。表示在调用切入点方法前执行publicvoidbefore(){System.out.... // 前置通知
@Before("anyMethod()")//before:之前通知。表示在调用切入点方法前执行
public void before(){
System.out.println("前置通知");
}
// 后置通知
@AfterReturning("anyMethod()")
public void afterReturn(){
System.out.println("后置通知");
}
// 最终通知:当方法都执行完成后
@After("anyMethod()")
public void after(){
System.out.println("最终通知");
}
在控制台是这样输出的:前置通知
register(User user)
最终通知
后置通知
为什么最终通知在后置通知后出来?
不好意思 问题写错了
大家可以看出来在控制台中:后置通知是在最终通知后出来
为什么会出现这种情况???
展开
 我来答
jimmyc2006
2012-03-30 · TA获得超过1153个赞
知道小有建树答主
回答量:572
采纳率:100%
帮助的人:652万
展开全部
后置通知是在没有异常的情况下运行的。
最终通知是不管有没有异常都会运行。
至于顺序,其实没必要穷究,因为根据你的意图去配置,这两个不会冲突,请不要依赖这两个的顺序来实现某些功能。
东方箭
2012-03-19 · TA获得超过708个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:217万
展开全部
可以这么理解 后置通知是在方法return的时候就调用的
而最终通知是在try catch finally中的finally块中调用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张艳歌520
推荐于2018-01-05 · TA获得超过1.3万个赞
知道小有建树答主
回答量:4714
采纳率:70%
帮助的人:268万
展开全部
还是需要去了解,多看看书!IOC:控制反转,是一种设计模式。一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制;第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。他们的依赖关系只在使用的时候才建立。简单来说就是不需要NEW一个对象了。AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。这个简单来说就是可以在一段程序之前或者之后做一些事。Spring的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-01-05
展开全部
哪里不对,方法执行之后显示后置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式