Spring Boot对Spring MVC的配置
2017-11-28 09:13
211 查看
先看一下以前SSM整合时Spring MVC的xml配置
首先,扫描SpringMVC和注解驱动的这几步Spring Boot已经自动配置了,使用时加@Controller即可,视图解析器这一块也已经有默认的配置,但是我们可以在全局配置中去改(前缀:spring.mvc.view.prefix=”/WEB-INF/views/”,后缀spring.mvc.view.suffix=”.jsp”,当然推荐使用yml),除此之外,还有诸如拦截器的配置,上一篇文章也有提过,步骤如下:
1.首先自定义拦截器
比如一个简单的登陆拦截器:
2.自定义拦截器配置继承WebMvcConfigurerAdapter,重写其中的addInterceptors方法
比如
<!-- 配置SpringMVC --> <!-- 开启SpringMVC注解模式 --> <!-- 简化配置: (1)自动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter (2)提供了一系列的功能:数据绑定,数字和日期的format@NumberFormat,@DataTimeFormat,xml,json默认读写支持 --> <!--注解驱动--> <mvc:annotation-driven></mvc:annotation-driven> <!--ServletMapping映射路径:“/” --> <!-- 静态资源默认servlet配置 1:加入对静态资源的处理:js,gif,png 2:允许使用“/”做整体映射 --> <mvc:default-servlet-handler /> <!-- 试图解析器。配置jsp显示的ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"> </property> <!-- 配置前缀 --> <property name="prefix" value="/WEB-INF/production/"></property> <!-- 配置前缀 --> <property name="suffix" value=".jsp"></property> </bean> <!-- 扫描web中SpringMVC的Controller --> <context:component-scan base-package="com.hhu.web"></context:component-scan>
首先,扫描SpringMVC和注解驱动的这几步Spring Boot已经自动配置了,使用时加@Controller即可,视图解析器这一块也已经有默认的配置,但是我们可以在全局配置中去改(前缀:spring.mvc.view.prefix=”/WEB-INF/views/”,后缀spring.mvc.view.suffix=”.jsp”,当然推荐使用yml),除此之外,还有诸如拦截器的配置,上一篇文章也有提过,步骤如下:
1.首先自定义拦截器
比如一个简单的登陆拦截器:
package com.hhu.cart.interceptors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import com.hhu.cart.service.UserService; import com.hhu.cart.threadlocal.UserThreadLocal; import com.taotao.common.utils.CookieUtils; import com.taotao.sso.query.bean.User; @Component public class UserLoginHandlerInterceptor implements HandlerInterceptor { public static final String COOKIE_NAME = "TT_TOKEN"; @Autowired private UserService userService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = CookieUtils.getCookieValue(request, COOKIE_NAME); if (StringUtils.isEmpty(token)) { // 未登录状态 return true; } User user = this.userService.queryUserByToken(token); if (null == user) { return true; } UserThreadLocal.set(user); // 将对象放入到本地线程中 return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { UserThreadLocal.set(null); } }
2.自定义拦截器配置继承WebMvcConfigurerAdapter,重写其中的addInterceptors方法
比如
package com.hhu.cart.spring.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import com.hhu.cart.interceptors.UserLoginHandlerInterceptor; @Configuration public class SpringMVCConfig extends WebMvcConfigurerAdapter { @Autowired private UserLoginHandlerInterceptor userLoginHandlerInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { // 判断用户是否登录的拦截器,然后添加它并添加拦截规则 registry.addInterceptor(userLoginHandlerInterceptor).addPathPatterns("/cart/**"); } }
相关文章推荐
- 使用spring boot +Junit 测试 spring mvc 配置中心项目
- spring boot之spring mvc常用配置--viewController(6)
- 12-SpringBoot——Spring MVC基础-常用配置
- spring boot之spring mvc常用配置--自定义HtppMessageConverter(9)
- spring boot之spring mvc常用配置--服务器端推送技术基于jquery(10)
- spring boot之spring mvc常用配置-静态资源映射(3)
- 13-SpringBoot——Spring MVC基础-高级配置-文件上传
- spring boot之spring mvc常用配置--@controllerAdvice(5)
- spring boot之spring mvc常用配置--拦截器配置(4)
- spring boot之spring mvc常用配置--路径匹配参数设置(7)
- spring boot之spring mvc常用配置--文件上传(8)
- SpringBoot8-Spring MVC-Spring MVC基本配置
- spring boot 整合mybatis、redis、 spring mvc基本配置
- SpringBoot | 第三章:springboot配置详解
- spring boot(二)spring data jpa以及事物配置
- SpringBoot配置属性之MQ(五)
- spring-boot PROPERTIES 配置
- SpringBoot---使用Mybatis配置文件实现数据的增删查改
- SpringBoot-05server的一些配置
- spring boot整合shiro引用配置文件配置是出现的问题