1、依赖和配置
springboot项目中需要引入相关依赖:
数据库连接配置:
2、service接口及实现类
MongoTemplate是数据库和代码之间的接口,对数据库的操作都在它里面,MongoTemplate是线程安全的。
注:此处只写了一个创建方法,其他查询、删除等方法请自行脑补.
SysLogService.java接口:
SysLogServiceImpl.java实现类:
SysLog.java实体类:
3、开始切面编程
要想把一个类变成切面类,需要两步,
① 在类上使用 @Component 注解 把切面类加入到IOC容器中
② 在类上使用 @Aspect 注解 使之成为切面类
用@Aspect注解方式来实现前置通知、返回通知、后置通知、异常通知等
用@Pointcut 来声明切入点表达式
实例代码:
本例实现了拦截接口登录及权限验证、请求记录存到log文件、操作日志(增删改查)存到mongodb、异常日志存到mongodb。
@Aspect private final Logger logger = LoggerFactory.getLogger(WebLogAspect.class); @RpcConsumer @Autowired @Pointcut("execution(* com.yankuang.*..*Controller.*(..)) && !execution(* com.yankuang.*..*.login*(..))") @Pointcut("execution(* com.yankuang.*..*Controller.*(..))") @Pointcut("execution( * com.yankuang.*..*Controller.*(..)) && !execution(* com.yankuang.*..*.create*(..)) && !execution(* com.yankuang.*..*.update*(..)) " + /** |