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>
推荐阅读
-
spring AOP的After增强实现方法实例分析
-
Spring Boot使用AOP防止重复提交的方法示例
-
Spring AOP的使用详解
-
spring AOP的两种配置
-
Mybaits 源码解析 (十二)----- Mybatis的事务如何被Spring管理?Mybatis和Spring事务中用的Connection是同一个吗?
-
Spring AOP中使用args表达式的方法示例
-
spring AOP的Around增强实现方法分析
-
Spring AOP访问目标方法的参数操作示例
-
Spring AOP 动态多数据源的实例详解
-
详解Spring Boot配置使用Logback进行日志记录的实战