package com.tong.aspectj;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterThrowing;
public class PeopleAdvice {
/*
参数是否有顺序问题?
通知的参数顺序不是必须和切入点方法参数顺序完全相同,可以自己来进行定义。
但是必须和配置文件中args-name属性配置的顺序相同。
参数个数是否必须相同?
是的
参数名称是否必须相同?
不需要和切入点参数名称对应。
但是必须和args-name名称对应,及args()里面名称对应。
*/
public void before(String name1,int age1){
System.out.println("before:name:"+name1+",age:"+age1);
}
// 在后置通知中,通过方法参数接收切入点方法的返回值
public void afterReturning(String name1,int age1,String returnValue){
System.out.println("afterReturning:name:"+name1+",age:"+age1+",return value:"+returnValue);
}
// 在后置通知中,通过方法参数接收切入点方法的返回值
public void after(String name1,int age1){
System.out.println("after:name:"+name1+",age:"+age1);
}
// 环绕通知
public Object around(ProceedingJoinPoint pjp,String name1,int age1) throws Throwable {
System.out.println("环绕前置name:"+name1+",age:"+age1);
Object result = pjp.proceed();// result 就是切入点的返回值啊。
System.out.println("环绕返回值接收:"+result);
System.out.println("环绕后置name:"+name1+",age:"+age1);
return result;
}
// 异常通知:切入点执行时出现异常(没有处理)才会触发的通知
// 所以异常通知肯定无法接收切入点的返回值,但是参数是可以接收的
public void exception(Exception e,String name1,int age1){
System.out.println("触发异常通知e:"+e+",name:"+name1+",age:"+age1);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Spring 是一个开源的轻量级框架,用于构建企业级 Java 应用程序。它提供了全面的基础设施支持和丰富的功能特性,旨在帮助开发人员构建灵活、可维护、高效的应用程序。Spring 框架包括多个模块,涵盖了各种不同的应用场景,如依赖注入、面向切面编程、数据访问、事务管理、Web 应用程序开发等。 以下是 Spring 框架的一些主要特点和功能: 依赖注入(DI):Spring 框架通过依赖注入机制管理组件之间的依赖关系,使得组件之间的耦合度降低,代码更易于测试和维护。 面向切面编程(AOP):Spring 提供了 AOP 支持,能够帮助开发者实现横切关注点的模块化,如日志记录、事务管理等,提高了代码的模块化程度。 事务管理:Spring 提供了强大而灵活的事务管理支持,可以通过声明式事务或编程式事务来管理数据库操作的事务性。 Spring MVC:Spring 框架提供了 Spring MVC 框架,用于构建 Web 应用程序,它基于前端控制器模式,提供了灵活的请求处理机制和视图解析,简化了 Web 应用程序的开发。 集成支持:Spring 提供了对各种其他框架和技术的集成
资源推荐
资源详情
资源评论
收起资源包目录
summer-aop.rar (95个子文件)
summer-aop
pom.xml 2KB
src
test
java
com
tong
test
AspectJTest.java 540B
AnnotationTest.java 513B
MyTest.java 689B
ArgsTest.java 491B
main
resources
applicationContext-aop.xml 528B
applicationContext-args.xml 2KB
applicationContext-annotation.xml 852B
applicationContext.xml 3KB
applicationContext-aspectj.xml 1KB
java
com
tong
cglibproxy
Kehu.java 685B
Zhongjie.java 871B
Fangdong.java 174B
jdkproxy
Kehu.java 986B
BigHouse.java 84B
Zhongjie.java 1KB
Fangdong.java 274B
annotation
AroundAdvice.java 690B
BeforeAdvice.java 438B
DemoAdviceParamter.java 2KB
AfterReturningAdvice.java 514B
Demo4Advice.java 590B
Demo3Advice.java 590B
DemoAdvice.java 2KB
AfterAdvice.java 486B
DemoServiceImpl.java 387B
AnnotationConfig.java 438B
aspectj
MyAdvice.java 904B
PeopleAdvice.java 2KB
service
jqk
abc
DemoServiceImpl.java 355B
impl
PeopleServiceImpl.java 330B
DemoServiceImpl.java 547B
aop
DemoServiceImpl.java 189B
staticproxy
Kehu.java 340B
Zhongjie.java 293B
Fangdong.java 139B
advice
MyAround.java 514B
MyBefore2.java 533B
MyBefore.java 554B
MyThrows.java 231B
MyAround2.java 523B
MyAfter.java 625B
MyAfter2.java 629B
MyThrows2.java 235B
.idea
jarRepositories.xml 871B
codeStyles
codeStyleConfig.xml 153B
Project.xml 269B
uiDesigner.xml 9KB
checkstyleidea.tmp
qaplug_profiles.xml 41KB
summer-aop.iml 197B
workspace.xml 6KB
misc.xml 992B
inspectionProfiles
Project_Default.xml 1KB
compiler.xml 607B
checkstyle-idea.xml 626B
.gitignore 184B
encodings.xml 267B
aws.xml 304B
target
classes
applicationContext-args.xml 2KB
applicationContext-annotation.xml 853B
applicationContext.xml 3KB
applicationContext-aspectj.xml 1KB
com
bjsxt
cglibproxy
Fangdong.class 517B
Kehu.class 846B
Zhongjie.class 1KB
jdkproxy
Fangdong.class 548B
BigHouse.class 141B
Kehu.class 948B
Zhongjie.class 1KB
annotation
Demo4Advice.class 773B
DemoAdviceParamter.class 3KB
AfterAdvice.class 670B
DemoAdvice.class 2KB
BeforeAdvice.class 666B
DemoServiceImpl.class 1KB
AroundAdvice.class 1007B
AnnotationConfig.class 582B
AfterReturningAdvice.class 715B
Demo3Advice.class 773B
aspectj
PeopleAdvice.class 2KB
MyAdvice.class 750B
service
jqk
abc
DemoServiceImpl.class 793B
impl
PeopleServiceImpl.class 1KB
DemoServiceImpl.class 1KB
staticproxy
Fangdong.class 519B
Kehu.class 664B
Zhongjie.class 690B
advice
MyThrows.class 632B
MyAround2.class 932B
MyBefore.class 789B
MyAfter.class 846B
MyAround.class 921B
MyAfter2.class 852B
MyBefore2.class 805B
MyThrows2.class 638B
generated-sources
annotations
共 95 条
- 1
资源评论
童小纯
- 粉丝: 3w+
- 资源: 289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HM2305B-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于52单片机、ADC0832、LCD1602、两个74HC393和一个74HC08的频率测量计 不能用,请私我
- HM2302-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- python实战项目-学生成绩管理系统(基础版)
- 微信小程序源码 实现查公交 滴滴公交 app 源码下载
- HM2302E-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于C#图片相似度比较,感知哈希算法
- VR开发的概要介绍与分析
- 自动驾驶定位系列教程七:点云畸变补偿.pdf
- HM2302D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功