为了账号安全,请及时绑定邮箱和手机立即绑定

探秘Spring AOP

apollo JAVA开发工程师
难度高级
时长 2小时30分
学习人数
综合评分9.67
84人评价 查看评价
9.9 内容实用
9.4 简洁易懂
9.7 逻辑清晰
  • advice有五种,第一种 before,执行前,第二种 after 之后,第三,afterreturning 有返回值的,第四 afterexeption 抛出异常的,第五 Auow。。环绕通知 ,包括全部的
    查看全部
    0 采集 收起 来源:advice注解

    2017-11-02

  • @pointcut("execution(“私有性”,“返回值类型”,“路径值”,“异常值”))")
    查看全部
    0 采集 收起 来源:advice注解

    2018-03-22

  • aop原来就是在一个地方插入一段代码,可以定义一个aspect来切入某个方法从而加入代码段,而且aop的pointcut有很多表达式,或者annotation的,还有其他的...
    查看全部
    0 采集 收起 来源:代码演示

    2017-11-02

  • 继承JPARepository对数据操作实现自己的事务控制,@transactional会在子事务外层加一层事务控制,对事务整体进行控制,在方法执行前后判断事务需要进行回滚操作。
    查看全部
    1 采集 收起 来源:transactional演示

    2017-11-02

  • springAOP的代理分情况使用jdk或者cglib的动态代理。
    查看全部
  • AOP之权限控制: @PreAuthorize("hasRole('ROLE_ADMIN')")
    查看全部
    0 采集 收起 来源:preauthorize演示

    2018-03-22

  • JDK通过接口代理,所以只能代理实现接口的类的方法,而cglib通过继承实现代理,所以不能代理final类,也无法代理private和static方法
    查看全部
    0 采集 收起 来源:cglib动态代理

    2017-11-01

  • SpringBoot对缓存的一个控制: 1、引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> 2、使用注解: @Cacheable(cacheNames={"menu"}) public List<String> getMenuList(){ System.out.println("看看是不是只有第一次被调用"); return Arrays.asList("java","C++","PHP"); } 【如果你连续调用这个方法,真实只有第一次会调用】
    查看全部
    0 采集 收起 来源:cachable演示

    2018-03-22

  • jdk运行期动态代理源码解析:其实就是真实类实现一个接口,我们再写一个类似于切面的类,实现invocationhandler接口且实现invoke方法,同时要保存真实类对象,初始化时赋值对象,invoke方法中反射方式调用真是对象方法,在方法前后可以加上定制的逻辑,这个方法其实是动态代理对象调用的,动态代理对象是客户端通过动态代理类实例化的,而动态代理类是真实对象方法执行前的运行期生成的.class类,这个类实现了和真实对象一样的接口,所以也有真实对象的方法,调用代理对象方法时也就可以传入参数,然后代理对象再将方法和参数传递给invocationhandler的实例对象。
    查看全部
  • Spring如何选择使用jdk代理还是cglib代理? 1、如果目标对象实现了接口,默认使用JDK代理 2、如果目标对象没有实现接口,默认使用cglib代理 3、如果目标对象实现了接口,但我们可以强制使用cglib代理,方法如下: @SpringBootApplication @EnableAspectJAutoProxy(proxyTargetClass = true) public class AppStarter{ public static void main(String[] args) { SpringApplication.run(AppStarter.class, args); } }
    查看全部
  • 静态代理就是一个代理类根据被代理类的情况,被代理类有几个方法,代理类就需要有几个方法,每个方法都要对被代理类进行代理,这样会出现代码重复的情况,如多个被代理方法其实前后需要执行的逻辑是一样的,但是静态代理还是需要为每个方法写一个代理方法,造成代码重复。动态代理根据放射得到被代理类执行的方法和参数,避免了代码的重复。
    查看全部
    2 采集 收起 来源:jdk代理演示

    2017-11-01

  • spring aop代理原理图
    查看全部
  • AOP 拦截
    查看全部
    0 采集 收起 来源:代码演示

    2017-10-28

  • 主要注解
    查看全部
  • 使用方式
    查看全部

举报

0/150
提交
取消
课程须知
本课程有一定的难度,需要同学较为熟练的掌握Spring和Spring Boot相关知识。熟练配置mysql,mongodb和maven项目。本课程将带领大家对源码进行刨析!不熟悉相关内容的同学可先学习SSM免费路径上的课程和慕课网上Spring Boot的基础课(http://www.imooc.com/learn/767)。
老师告诉你能学到什么?
让学生了解SpringAop的原理,使用,解读SpirngAop的经典代码,再通过案例加深让学生对SpirngAop的理解和掌握的程度

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!