Springboot框架——3.整合SpringMVC

1.修改端口号:

在application.properties中添加如下配置即可:

XML 复制代码
server.port=8088

2.静态资源访问:

首先打开ResourceProperties这个类的源码:

将静态资源放到类中默认位置即可实现访问:

http://localhost:8088/erth.jpg

3.拦截器:

先定义个拦截器:

java 复制代码
package com.lxj.interceptor;

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 LoginInterceptor implements HandlerInterceptor {

    private Logger logger=LoggerFactory.getLogger(LoginInterceptor.class);
    @Override
    public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler){
        logger.debug("执行前!");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView modelAndView){
        logger.debug("执行后!");
    }

    @Override
    public void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object handler,Exception ex){
        logger.debug("跳转后!");
    }

    /*
     * 这里注意日志级别,默认显示info以上级别,如果显示更低级别需要在配置文件中配置 logging.level.com.lxj=debug */
}

然后通过实现WebMvcConfigure并添加@Configuration注解来实现自定义拦截器:

java 复制代码
package com.lxj.config;

import com.lxj.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class MvcConfig implements WebMvcConfigurer {
    @Bean  //将LoginInterceptor拦截器注入到spring容器中
    public LoginInterceptor loginInterceptor(){
        return new LoginInterceptor();
    }

    @Override //重写接口方法,添加自定义拦截器
    public void addInterceptors(InterceptorRegistry registry){
        // registry注册拦截器
        // addPathPatterns添加拦截路径:
        //  '?'  匹配任何单字符
        //  '*'  匹配0或者任意数量字符
        //  '**' 匹配0或者更多目录
        registry.addInterceptor(this.loginInterceptor()).addPathPatterns("/**");
    }

}

重新访问可以发现已执行对应的拦截器:

可以发现比之前的spring繁琐的配置文件方便多了!

相关推荐
讓丄帝愛伱3 小时前
JPA QuerySyntaxException: unexpected token: xxx near
springboot
IT学长编程1 天前
计算机毕业设计 教师科研信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·毕业设计·springboot·毕业论文·计算机毕业设计选题·计算机毕业设计开题报告·教师科研管理系统
孟诸2 天前
计算机专业毕设-校园新闻网站
java·vue·毕业设计·springboot·课程设计
_院长大人_2 天前
SpringBoot 整合docker,执行容器服务
java·docker·springboot
我是小酒3 天前
掌握 Spring:从新手到高手的常见问题汇总
java·后端·spring·springboot
赚钱给孩子买茅台喝4 天前
智能BI项目第一期
java·人工智能·springboot·react
java1234_小锋5 天前
免费分享一套SpringBoot+Vue学生信息管理系统【论文+源码+SQL脚本】,帅呆了~~
java·springboot·java毕业设计·学生信息·java学生信息·springboot学生信息·vue学生信息
蓝染-惣右介5 天前
【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(一)
java·后端·物联网·vue·springboot
张某布响丸辣5 天前
Nginx 负载均衡:优化网站性能与可扩展性的利器
java·运维·nginx·负载均衡·springboot
爱新觉罗16 天前
Mybatis-plus-Generator 3.5.5 自定义模板支持 (DTO/VO 等) 配置
mybatis·springboot