Spring Boot配置拦截器和记录日志的步骤

配置拦截器:

   1.实现一个MyInterceptor来扩展HandlerInterceptor方法,细节如下:
 

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class MyInterceptor implements HandlerInterceptor {

    private static final Logger log = LoggerFactory.getLogger(MyInterceptor.class);

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        log.debug("preHandle method is running");

        return true;

    }

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

        log.debug("postHandle method is running");

    }

    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

        log.debug("afterCompletion method is running");

    }

}

同时记录日志,private static final Logger log = LoggerFactory.getLogger(MyInterceptor.class);

2.让拦截器生效:

package com.itcast.config;

import com.itcast.interceptor.MyInterceptor;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration

public class MvcConfig implements WebMvcConfigurer {

    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");

    }

}

3.application.yaml中配置日志等级为debug;

server:

    port: 8088

    servlet:

        path: /

logging:

    level:

        com.itcast: debug

lombok 的@Slf4j 注解 可以替代   private static final Logger log = LoggerFactory.getLogger(MyInterceptor.class);

整合连接池: 在POM文件中引入相关的依赖,并且在对应的yaml文件中写入相关的属性

单表的sql 可以用通用mapper ,多表则需要自己手动写mapper文件和sql语句

通用mapper 引入一个启动器,建立一个类去继承Mapper<User>(用于单表)则自动的具备增删改查的方法 ,然后在启动类处把扫描包改为通用mapper来进行扫描,可以将通用mapper中含有的多余依赖在pom文件中删除,其中的sql语句根据实体类来进行生成,并且需要在实体类使用注解注明表名、注明主键@table @Id @keysql(useGeneratedkeys=true) 自增 、@ Transient(瞬时注解)不需要记性持久化的属性,不会一直作为属性来使用

建立测试类:

提前引入依赖

使用@Transactional来管理事务,在引入org.springframework:spring-jdbc的依赖时,已经完成了事务的管理

猜你喜欢

转载自blog.csdn.net/Fearless_soar/article/details/88166129
今日推荐