spring_aop_日志配置.docx

上传人:11****ws 文档编号:3259933 上传时间:2019-05-27 格式:DOCX 页数:6 大小:18.22KB
下载 相关 举报
spring_aop_日志配置.docx_第1页
第1页 / 共6页
spring_aop_日志配置.docx_第2页
第2页 / 共6页
spring_aop_日志配置.docx_第3页
第3页 / 共6页
spring_aop_日志配置.docx_第4页
第4页 / 共6页
spring_aop_日志配置.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1 首先引入 jar 包 spring.jar aopalliance.jar aspectjrt.jar aspectjtools.jar aspectjweaver.jar cglib-nodep-2.1_3.jar cglib-src-2.2.jar 这些个jar 包不一定都用得上,但离配置到现在整理已经比较久了 有点忘了. 2 spring 配置文件头 3 定义 aop 拦截4 处理拦截的类 logMonitorAspectpublic class LogMonitor /* * 保存变量的 ThreadLocal,保持在同一线程中同步数据. */private static fina

2、l ThreadLocal SESSION_MAP = new ThreadLocal();private IUserLogInfoService userLogInfoService;public IUserLogInfoService getUserLogInfoService() return userLogInfoService;public void setUserLogInfoService(IUserLogInfoService userLogInfoService) this.userLogInfoService = userLogInfoService;/* 获得线程中保存的

3、属性.* * param attribute* 属性名称* return 属性值*/public static Object get(String attribute) Map map = (Map) SESSION_MAP.get();return map.get(attribute);/* 记录日志信息* param joinpoint* throws Exception* throws IllegalAccessException*/public void writeLogInfo(JoinPoint joinpoint) throws Exception, IllegalAccessE

4、xception UserInfoVO sysUse = (UserInfoVO) UserSession.get(Contents.SESSION_USER_KEY);/ 在基类 action 中 设用户信息/ UserSession.set(Contents.SESSION_USER_KEY, userVO);/ UserSession.set(Contents.SESSION_USER_IP, request.getRemoteAddr();String userIP = (String) UserSession.get(Contents.SESSION_USER_IP);String

5、temp = joinpoint.getStaticPart().toShortString();/ 获得操作类String classType = joinpoint.getTarget().getClass().getName();/ 获得方法名称String methodName = temp.substring(10, temp.length() - 1);Class className = Class.forName(classType);/ 获得方法的参数类型数组Object a = joinpoint.getArgs();Class o = new Classa.length;/

6、 for (int i = 0; i threadLocal = new ThreadLocal(); / public HttpServletRequest getContext() / return (HttpServletRequest)threadLocal.get(); / / public void setContext(HttpServletRequest request) / threadLocal.set(request); / / public void cleanContext() / threadLocal.set(null); / /* * 保存变量的 ThreadL

7、ocal,保持在同一线程中同步数据. */ private static final ThreadLocal SESSION_MAP = new ThreadLocal(); /* * 工具类的 protected 构造方法. */ protected UserSession() /* * 获得线程中保存的属性. * * param attribute * 属性名称 * return 属性值 */ public static Object get(String attribute) Map map = (Map) SESSION_MAP.get(); /System.out.println(m

8、ap.toString(); / System.out.println(map.containsKey(“usersession“); return map.get(attribute); /* * 获得线程中保存的属性,使用指定类型进行转型. * * param attribute * 属性名称 * param clazz * 类型 * param * 自动转型 * return 属性值 */ public static T get(String attribute, Class clazz) return (T) get(attribute); /* * 设置制定属性名的值. * * param attribute * 属性名称 * param value * 属性值 */ public static void set(String attribute, Object value) Map map = (Map) SESSION_MAP.get(); if (map = null) map = new HashMap(); SESSION_MAP.set(map); map.put(attribute, value); 8 另外在配置 aop 必须是接口的, 否则会出错看是否可以在 action 设置拦截效果应该更好的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 医药卫生

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。