当前位置: 首页 > wzjs >正文

中国移动网上商城优化营商环境心得体会个人

中国移动网上商城,优化营商环境心得体会个人,中学建设校园网站方案,站群网站和做seo那个号本文使用的微服务版本为springcloudAlbaba :2021.0.4.0 微服务工程,一般公共的东西都放入一个工程,别的微服务都会引入这个工程,比如common-service,那么就可以在这个工程编写一个拦截器:,比如: public cla…

        本文使用的微服务版本为springcloudAlbaba :2021.0.4.0

        微服务工程,一般公共的东西都放入一个工程,别的微服务都会引入这个工程,比如common-service,那么就可以在这个工程编写一个拦截器:,比如:

public class UserInfoInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//从请求头中获取用户信息String header = request.getHeader("user-info");if(StrUtil.isNotBlank(header)){//这里UserContext的user是个ThreadLocalUserContext.setUser(Long.valueOf(header));}return true;}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {UserContext.removeUser();}
}

        这里是做个用户信息获取的拦截器,从请求头中获取用户信息,然后塞入ThreadLocal中,供后续业务使用。

        定义完了,为了使它生效,编译一个配置类:

import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MvcConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new UserInfoInterceptor());}
}

        然后利用springboot自动装配的原理,在spring.factroies中添加MvcConfig的全路径,

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.*.common.config.MvcConfig

        这里*用你实际的就好,别真的写*。

        这样所有引入common-service依赖的微服务都添加了这个拦截器。

        但是注意如果某个微服务启动报错,可能是你的某这个微服务没有引入springmvc的依赖,比如网关微服务,网关不需要springmvc的依赖,也不需要这个拦截器,

        我们同样利用springboot自动装配ConditionalOnClass注解的特性来让网关不引入这个拦截器。只需要加上一段@ConditionalOnClass(DispatcherServlet.class)即可

@Configuration
@ConditionalOnClass(DispatcherServlet.class)
public class MvcConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new UserInfoInterceptor());}
}
        DispatcherServlet是springmvc的核心类,使用ConditionalOnClass,即判断当前有没有引入springmvc的依赖来判断是否引入MvcConfig 这个配置类,网关没有springmvc的依赖,这样这个配置类就不会生效。

 

http://www.dtcms.com/wzjs/317243.html

相关文章:

  • 网站备案幕布照规范五个成功品牌推广案例
  • 家电网站策划福州短视频seo公司
  • 114百事通做网站600网上销售平台有哪些
  • 上海专业做网站公合肥网站优化方案
  • 顺义网站制作windows优化大师怎么用
  • 做网站的模版seo优化工具软件
  • 大连 网站制作 外贸酒吧营销用什么软件找客源
  • 效果好企业营销型网站建设网页设计成品源代码
  • 网站的关键词推扩是怎样做百度网盘app官网
  • 医院网站怎么做优化排名企业培训内容有哪些
  • 谁能帮我做网站seo百度关键词优化软件
  • 团队展示网站人民日报今日新闻
  • 高端企业网站建设费用南昌百度seo
  • 酒店网站可以怎么做杭州seo俱乐部
  • 营销型网站建设报价方案goole官网
  • 抚州网站制作企业软文
  • 临沂集团网站建设抖音怎么运营和引流
  • 湖南网站建设开发百度站内搜索的方法
  • 建网站靠什么赚钱品牌策划公司
  • 晋城市网站建设网站排名监控工具
  • 网站建设思路方案网络营销怎么推广
  • 新乡市做网站直销系统网站百度seo查询系统
  • 个人免费网站建设模板郑州网站优化外包
  • wordpress 12张表seo标签优化
  • 2023一般纳税人企业所得税怎么算兰州网站seo优化
  • 网站空间管理平台关键词优化和seo
  • 专业网站建设技术北京搜索引擎推广服务
  • 网站点击量设计软件开发自学步骤
  • wordpress 获取置顶文章佛山seo技术
  • 鞍山做网站哪家好seo技术培训学校