java aop 属性改变_spring aop 获取拦截类中的属性的值

最近搭建一个ssh的通用架子时,想做个通用日志的拦截方法,可以利用反射获取拦截类中的属性

不多说,上代码

日志类

public class MyLog {

public void doBefore(JoinPoint jp) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {

Field f = jp.getTarget().getClass().getDeclaredField("username");//获取属性-->Field

f.setAccessible(true);//如果是私有的 先要设置可访问

String user = (String) f.get(jp.getTarget());//获取值,这个get()方法重点是参数,参数是你要获取的类

logStr = user + " 进行了" + jp.getTarget().getClass().getName() + " 类的 "+ jp.getSignature().getName()+" 方法开始执行 ";logger.info(logStr);}

}

}

拦截类

com.xxx.xxx.controller包下的ServerManagerController.java

public class ServerManagerController extends BaseAction{

private String username = "";

@Autowired

/**

* 管理页面

* @return

*/

@RequestMapping(value = "/toServerManager")

public String toServerManager(){

UserLogInfo user = (UserLogInfo)session.getAttribute("userLogInfo");

this.username = user.getUsername();

return "/jsp/examine/serverManager";

}

}

spring-log.xml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值