近期工作总结
刚工作,还没有能力承担一个项目,近期自己实现了一个用户的认证登录和AOP的日志实现功能;
该项目可以在我的github主页中找到:
https://github.com/codexwj/registerlogin/
首先是AOP日志,实现的功能是当运行方法时,在方法的前面和后面都会打印相应的参数日志,比如:开始的时间,结束时间、输入的参数、返回的参数等内容。
具体的实现:
利用利用@Aspects注解注释一个类,表示对该类是一个AOP。
在该类中定义@Pointcut(),即,定义切面,表示从哪个切入点进去实现功能增强。
这里就是增强的内容,常见的有@Before,@After,@Around等增强的方式,第一种是在方法执行前增强,第二种是方法执行之后增强,第三中是第一种和第二种的结合。
接着我们会定义一个注解,该注解就是来指定切面的,那个方法被注解,就会进行AOP增强。
**具体看代码:**SystemLogAspect,和相配的注解,在controller层使用到该注解。
接着是用户的认证登录,首先是注册;接着是登录,登录成功时会利用redis生成一个token,并且设置过期时间,并且会把该token返回给用户;之后用户在查询的过程中会对token进行校验,校验通过可以访问数据库,反之不行;其次注销时会对token进行remove,这里也是需要校验的。
具体的实现:
采用一个拦截器,在拦截器中进行校验,校验成功进入方法,否则报错。
这一块的代码比较多,涉及redis的相关操作,拦截器preHandler的编写,同样的这里也用到了注解;有点疑惑,当只用注解时,不成功,当联合用上WebMvcConfigurer时成功了。
具体看代码:
https://github.com/codexwj/registerlogin/
欢迎指教,一起进步