欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring AOP的日志管理

程序员文章站 2022-03-02 15:39:31
...

今天晚上可算是把这个Spring AOP的日志管理用在了我的项目中了,不是一种高兴的滋味,而是一种检讨。因为之前就有去学习过,只不过是没有真正用到项目里。还好很快就用手到了。
好吧,把我的一个Demo写写吧:
首先是一个日志处理类:

package com.taiheinfo.log;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.UUID;
import com.taiheinfo.entity.Log;
import com.taiheinfo.service.ILogService;

public class AddLog {
private ILogService logService;
private Log log;

public void setLog(Log log) {
  this.log = log;
}
public void setLogService(ILogService logService) {
  this.logService = logService;
}

public void addLog(){
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  log.setId(UUID.randomUUID().toString());
  log.setUserId(1+"");
  log.setOperateType("add");
  log.setOperateDate(sdf.format(new Date()));
  logService.add(log);
}
}

 然后是利用静态的AOP来管理了,就是配置文件来管理:

<!-- 配置日志 -->
<bean id="addLog" class="com.taiheinfo.log.AddLog">
  <property name="logService" ref="logService"></property>
  <property name="log" ref="log"></property>
</bean>
  <aop:config>
   <aop:aspect id="asaddlog" ref="addLog">
    //注意这里的表达式第一个*是返回所有。接下来是:那些包下的哪些类(*表示所有类).add*所有的add方法(..参数)
    <aop:pointcut id="allMethod" expression="execution(* com.taiheinfo.service.impl.*.add*(..))"/>
    <aop:after method="addLog" pointcut-ref="allMethod"/>
   </aop:aspect>
  </aop:config>