您当前的位置: 首页 >  spring

星夜孤帆

暂无认证

  • 3浏览

    0关注

    626博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spring的Aop顺序

星夜孤帆 发布时间:2021-04-18 21:51:30 ,浏览量:3

一、Aop常用注解

二、业务类 2.1 CalcService

2.2 CalServiceImpl

想在除法方法前后各种通知,引入切面编程

2.3 MyAspect

新建一个切面类MyAspect并为切面类新增两个注解

三、测试 3.1 Spring4+Springboot1.5.9
@SpringBootTest
@RunWith(SpringRunner.class)  //1.5.9
public class T1
{
    @Autowired
    private CalcService service;
 
    System.out.println("spring版本:"+ SpringVersion.getVersion()+"\t"+"SpringBoot版本:"+ 
    SpringBootVersion.getVersion());

    System.out.println();

    calcService.div(10,2);
 }
 

Spring4默认用的JDK的动态代理

3.2 Spring5+Springboot2.3.3
@SpringBootTest  //spring5
public class T1{
    @Autowired
    private CalcService service;

    @Test
    public void testAop4(){
    System.out.println("spring版本:"+ SpringVersion.getVersion()+"\t"+"SpringBoot版本:"+     
    SpringBootVersion.getVersion());

    System.out.println();

    calcService.div(10,2);
    }   
}

Spirng5默认动态代理用的是cglib,不再是JDK的动态代理,因为JDK必须要实现接口,但有些类它并没有实现接口,所以,更加通用的话就是cglib。

四、结论

Spring4 正常执行:@Before->@After->@AfterReturning

有异常执行:@Before->@After->@AfterThrowing

Spring5

正常执行:@Before->@AfterReturning->@After

有异常执行:@Before->@AfterThrowing->@After

视频教程

关注
打赏
1636984416
查看更多评论
立即登录/注册

微信扫码登录

0.0391s