原生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框架授权,图文并茂,收藏学习

文章插图
 
@Bean是描述的方法为spring要管理的对象 , 方法名默认为bean的名称 , @Conponent是能描述类1
原生AOP的实现以及shior框架授权,图文并茂,收藏学习

文章插图
 
项换方法名就@Bean("aaaa")
2配置过滤规则 , 例如对那些请求进行认证 , 那些请求可以直接放行 。spring容器在调用这个方法的时候 , 会按类型 , 为方法参数注入一个对象 , 相当于在方法上加了一个@AuTowired , 如果又多个对象 , 可以
原生AOP的实现以及shior框架授权,图文并茂,收藏学习

文章插图
 
linkedHashMap是底层要求的
原生AOP的实现以及shior框架授权,图文并茂,收藏学习

文章插图
 
接下来写对map的要求
原生AOP的实现以及shior框架授权,图文并茂,收藏学习

文章插图
 
下一步写一个方法可以返回登入页面 。
在配置controller下写返回页面就是处理所有页面请求的界面


推荐阅读