MongoDB-与SpringBoot整合及日志记录

1、依赖和配置

springboot项目中需要引入相关依赖:

数据库连接配置:

2、service接口及实现类

MongoTemplate是数据库和代码之间的接口,对数据库的操作都在它里面,MongoTemplate是线程安全的。

注:此处只写了一个创建方法,其他查询、删除等方法请自行脑补.

SysLogService.java接口:

SysLogServiceImpl.java实现类:

SysLog.java实体类:

3、开始切面编程

要想把一个类变成切面类,需要两步, 
① 在类上使用 @Component 注解 把切面类加入到IOC容器中 
② 在类上使用 @Aspect 注解 使之成为切面类

用@Aspect注解方式来实现前置通知、返回通知、后置通知、异常通知等

用@Pointcut 来声明切入点表达式

实例代码:

本例实现了拦截接口登录及权限验证、请求记录存到log文件、操作日志(增删改查)存到mongodb、异常日志存到mongodb。

@Aspect
@Component
public class WebLogAspect {

    private final Logger logger = LoggerFactory.getLogger(WebLogAspect.class);

    @RpcConsumer
    SysLogService sysLogService;

    @Autowired
    RedisOperator redis;

    @Pointcut("execution(* com.yankuang.*..*Controller.*(..)) && !execution(* com.yankuang.*..*.login*(..))")
    public void login() {
    }

    @Pointcut("execution(* com.yankuang.*..*Controller.*(..))")
    public void webLog() {
    }

    @Pointcut("execution( * com.yankuang.*..*Controller.*(..)) && !execution(* com.yankuang.*..*.create*(..)) && !execution(* com.yankuang.*..*.update*(..)) " +
            "&& !execution(* com.yankuang.*..*.delete*(..)) && !execution(* com.yankuang.*..*.find*(..))")
    public void sysLog() {
    }

    /**
     * 添加业务逻辑

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值