🔅AOP日志实现
🍭自定义日志注解类
package fun.quan.aop.comment; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * RetentionPolicy.RUNTIME 注释将由编译器记录在类文件中,并在运行时由VM保留,因此可以反射性地读取它们。 * RetentionPolicy.RUNTIME 正式的参数声明 * ElementType.METHOD 方法声明 * @author XIaoQ */ @Target({ElementType.PARAMETER,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface Log { /** * 记录日志的名称 * @return */ String defaults() default ""; }
🍭创建切面类
package fun.quan.compents; import fun.quan.pojo.User; import fun.quan.pojo.UserLogs; import fun.quan.service.LogService; import fun.quan.utils.SpringUtils; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.NamedThreadLocal; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; i
版权声明:本文为xiaoquanz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。