怅然原生AOP的实现以及shior框架授权,图文并茂,收藏学习
1创建一个SpringBoot项目
2在项目里定义一个接口 , 放在com.cy.pj.mail.service下 , 写一个方法 。
本文插图
写一个实现类取继承接口 , 想要定义一个日志处理 , 想要以AOP的方式注入 。
本文插图
3写一个测试类 , 要交给spring管理 。
本文插图
有输出结果为hello cgb2006
4接着不去写切面实现AOP的功能 , 至少得有通知 , 和切入点 。 先新建一个注解 , 这个注解在运行有效 , 希望注解描写得方法为目标方法 , 有了注解 , 接下来还少一个通知 。
借助此注解描述一个切入点方法
本文插图
本文插图
在实现类得上面
5写一个通知得class , 取实现一个接口 , 这个接口里得方法有一个功能 , 会取执行目标方法 。 最先得通知需要写到切面对象里去 。 MethodInterceptor原先就是一个日志通知对象 , 里面有advice 。
本文插图
invocation可以看成一个连接点对象 , 放在了目标方法信息 , 可以通过反射获得 。
6现在又了切入点和通知 , 需要把对象放到advice里面去
本文插图
这个advisor又叫顾问 , 它作用是告诉BeanProcessor , 在这个切入点上 , 也就是(Pointcut)为目标对象创建对象 , 接下来就是写Adcisor 。 Adcisor必须满足一些要求 , 在Browse上继承
本文插图
本文插图
这个对象要交给spring管理 , 所以@Component
本文插图
method封装了目标封装对象
本文插图
这就是判定方法是不是切入点的一个入口
接着
本文插图
当前的springBoot需要配置DefauktAdvisorAutoProxyCreator
本文插图
直接在启动类里进行
本文插图
方法名
本文插图
运行结果 。
本文插图
shiro最核心的是SecurityManager , 注意包是哟啊shiro包
本文插图
推荐阅读
- 区块链原生+能源互联网,新基建科技先行
- 怅然人生苦短,我要在VSCode里面用Python
- 原生家庭@美国心理学家:我们遭遇的第一个磨难来自原生家庭,并且会遗传
- 大京网点燃企业数字化新引擎,网易数字+云原生论坛即将开幕
- 东方网|如何看待原生家庭?青春期性教育如何支持?这场“云咨询”让许多老师吐露心声
- 心理学@心理学:一个人的原生家庭,早已经决定了他的行为方式与底线
- 手机|Android Go原生相机应用夜景增强 HDR支持已在路上
- 学习时报|建设美丽中国应重视草原生态治理和保护
- [原生家庭]一个男人是否靠得住,要看这些小细节,可别忽视了
- 建设美丽中国应重视草原生态治理和保护