Spring Boot对Spring MVC的配置
来源:互联网 发布:网络版权保护 编辑:程序博客网 时间:2024/05/16 06:14
先看一下以前SSM整合时Spring MVC的xml配置
<!-- 配置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;@Componentpublic 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;@Configurationpublic class SpringMVCConfig extends WebMvcConfigurerAdapter { @Autowired private UserLoginHandlerInterceptor userLoginHandlerInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { // 判断用户是否登录的拦截器,然后添加它并添加拦截规则 registry.addInterceptor(userLoginHandlerInterceptor).addPathPatterns("/cart/**"); }}
阅读全文
0 0
- Spring Boot对Spring MVC的配置
- spring boot spring mvc 自动配置类
- Spring MVC的配置
- Spring mvc的配置
- spring mvc的配置
- spring mvc的配置
- Spring MVC的配置
- spring/spring boot/spring mvc中用到的注解
- Spring boot+Spring MVC+Idea
- Spring Boot整合Spring MVC
- spring boot mvc单元测试
- Spring Boot Mvc 单元测试
- spring mvc 配置对静态资源的访问
- Spring MVC中对Annotation配置方式的处理流程
- spring mvc 中对静态资源的访问配置
- spring-boot 所有的配置
- spring boot的相关配置
- Spring boot入门五 spring mvc spring boot mybatis配置整合
- 当指针作为局部指针变量时的注意事项
- js做分页函数
- 大数据开发是先学习Hadoop还是spark,看10万程序猿所留下的结论
- Hadoop 环境设置
- 很赞的一款JS压缩/混淆器:Javascript Obfuscator v4.0
- Spring Boot对Spring MVC的配置
- 各大平台的推荐系统原来是靠他来完成的,太牛了
- 六款互联网人不容错过的软件神器
- Go并发编程之channel
- Spring Boot入门
- spring boot实战(第七篇)内嵌容器tomcat配置
- 给定一个链表,交换每两个相邻节点并返回其头部。
- 复杂网络问答
- HashMap的面试题你能回答几个?