怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习


1创建一个SpringBoot项目
2在项目里定义一个接口 , 放在com.cy.pj.mail.service下 , 写一个方法 。
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
写一个实现类取继承接口 , 想要定义一个日志处理 , 想要以AOP的方式注入 。
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
3写一个测试类 , 要交给spring管理 。
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
有输出结果为hello cgb2006
4接着不去写切面实现AOP的功能 , 至少得有通知 , 和切入点 。 先新建一个注解 , 这个注解在运行有效 , 希望注解描写得方法为目标方法 , 有了注解 , 接下来还少一个通知 。
借助此注解描述一个切入点方法
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
在实现类得上面
5写一个通知得class , 取实现一个接口 , 这个接口里得方法有一个功能 , 会取执行目标方法 。 最先得通知需要写到切面对象里去 。 MethodInterceptor原先就是一个日志通知对象 , 里面有advice 。
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
invocation可以看成一个连接点对象 , 放在了目标方法信息 , 可以通过反射获得 。
6现在又了切入点和通知 , 需要把对象放到advice里面去
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
这个advisor又叫顾问 , 它作用是告诉BeanProcessor , 在这个切入点上 , 也就是(Pointcut)为目标对象创建对象 , 接下来就是写Adcisor 。 Adcisor必须满足一些要求 , 在Browse上继承
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
这个对象要交给spring管理 , 所以@Component
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
method封装了目标封装对象
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
这就是判定方法是不是切入点的一个入口
接着
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
当前的springBoot需要配置DefauktAdvisorAutoProxyCreator
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
直接在启动类里进行
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
方法名
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
运行结果 。
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图
shiro最核心的是SecurityManager , 注意包是哟啊shiro包
怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
本文插图