配置拦截器:
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的依赖时,已经完成了事务的管理