一、SpringBoot(SpringMVC)对日志的控制
application.yml中添加
logging:
level:
cn.itcast: debug
二、编写自定义拦截器MyInterceptor实现HandlerInterceptor接口
package cn.itcast.interceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Slf4j
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.debug("preHandle method is running");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
log.debug("postHandle method is running");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
log.debug("afterCompletion method is running");
}
}
三、编写MvcConfig意思是对Mvc的配置,继承WebMvcConfigurer类
这个就相当于以前ssm中的springmvc的xml文件,里面做些对SpringMvc的配置
package cn.itcast.config;
import cn.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;
//SpringMvc配置 以前是配置文件
@Configuration
public class MvcConfig implements WebMvcConfigurer {
/*
写好的东西(拦截器)必须要配置才能生效
*/
//添加拦截器配置
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");//拦截一切路径
}
}
四、控制层测试
@GetMapping("hello")
public String hello(){
log.debug("xxxxxxxxxxxxxxxxxxx");
System.out.println("????????????????????");
return "hello SpringBoot";
}
访问页面localhost:8080/hello
日志
在类上添加@Slf4j注解,即可使用
log.debug(“xxxxxxxxxxxxxxxxxxx”);
log.error(“查询用户信息失败, id: {}”,id);
等打印日志
通用mapper
只要引入通用mapper就不需要再引入mybatis和jdbc的依赖了(她已经引入过了)
github地址:https://github.com/abel533/Mapper
<!--通用mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
每日注解
1、 @SpringBootConfiguration和@Configuration基本一样,只不过是声明此类为SpringBoot的配置类
2、 @Component 组件,将此注解标注的类注入到Spring容器中管理。
3、 @ComponentScan 包扫描,若没有写具体的扫描路径,则扫描此注解标注的类下的所有路径。
@Component 和 @ComponentScan的使用目的不一样 在某个类上使用@Component注解,表明当需要创建类时,这个被注解的类是一个候选类。就像是举手。 @ComponentScan 用于扫描指定包下的类。就像看都有哪些举手了。
- 4、 @EnableAutoConfiguration 启用自动配置开关