基于struts2拦截器的权限管理之ThreadLocal在数据传递中的应用
费话不多说 ,可以看threadlocal源码明白它是用来做什么的,要说的是在jdk5中它加入了在线程结束后自动移除线程上引用的对象的方法,这方便了使用它来编程的步骤,也增强程序的健壮性。
?
?
/** * 这是为配合一个同事要加入aop来记录调用*.service.*impl.save*(..)方法时 * 要传入当前是哪个用户在调用,用户是哪个部门的,返回的主键是什么。并把这 * 些信息保存到control表用于分组访问控制。 */package com.ylsoft.power.web.intercept;/** * 当前线程操作员信息 */public class ThreadLocalOperater {/** * local变量 */private static final ThreadLocal<AccessMessage> local=new ThreadLocal<AccessMessage>();private ThreadLocalOperater(){}/** * 获取访问信息 * @return */public static AccessMessage getAccessMessage(){AccessMessage am= local.get();if (am==null) {am=new AccessMessage();}return am;}/** * 设置访问信息 * @param accessMessage */public static void setAccessMessage(AccessMessage accessMessage){local.set(accessMessage);}}