spring-boot版本问题让开发怀疑人生

当我们将一个框架从旧版本升级到新版本之后,各种兼容各种坑可能会接踵而至,这通常是你意向不到的,因为新版本可能移除了旧版本的某些配置项,也可能更改了旧版本的配置项等。

这不,今天小编就遇到了这么一个坑,这个坑是由于我把 spring-boot
版本升级之后更改带来的,这让我一度怀疑是我某个地方配置错了什么的。下面我们一起看看这个坑是什么?

当我们在开发 spring-boot
应用程序时,往往需要对系统的某些属性进行配置,比如说你像让这个系统在 7000
端口启动,那么你只需在 appication.properties
文件中增加下面的配置项即可:

server.port=7000

又或者你想限制上传文件的大小时,你可以进行以下配置:

spring.http.multipart.max-file-size=10M

问题来了,小编将spring版本从1.5.7升级到2.0.0时发现 server.context-path
配置项不生效,下面贴出小编的配置:

application.properties

server.port=7001
server.context-path=/hello

JsonBackController.java

package com.example.jsonpDemo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.jsonpDemo.pojo.User;

/**
 * 
 * The class JsonBackController.
 *
 * Description:该控制器返回一串简单的json数据,json数据由一个简单的User对象组成
 *
 * @author: huangjiawei
 * @since: 2018年6月12日
 * @version: $Revision$ $Date$ $LastChangedBy$
 *
 */
@RestController
@RequestMapping(value = "/map")
public class JsonBackController {
    @RequestMapping(value = "getUser.json")
    public User getUser() {
    	return new User("huangjiawei", 22);
    }
}

上面的配置正常来说启动应用程序之后,你在浏览器输入 http:localhost:7001/hello/map/getUser.json
后应该可以执行到 getUser()
方法,但在 spring-boot 2.0.0
版本却报出404错误,由于小编同时将该应用程序部署到阿里云服务器并采用nginx做相应的转发,这一度让我怀疑是不是我在nginx上配置出错了,结果采用 nginx -t
之后发现没语法错误,其他应用也可以正常访问。

后来怀疑这怀疑那,差点没怀疑到人生,最后发现是版本问题导致的,2.0.0版本之前 server.context-path
配置是有效的,但在2.0.0后改为 server.servlet.context-path
,为了贴出相关证据,我搜了spring-boot的远在github上的老家,下面贴出它家的宝贝: github.com/spring-proj…

总结

这次花了我些时间在排查上,我想这也是由于我经验不足导致的,所以,小编认为,以后如果遇到相关开发问题时,应该学会去抄框架的家底,毕竟宝贝都在那!是在不行,换个版本看看。但如果你的应用程序已经在生产上运行,版本切换要考虑影响程度,不要影响其他业务功能。

spring-boot
内容还是挺多的,这个框架也是当前后端微服务比较火的,也是通往 spring-cloud
的必经之路,大家一起加油吧!

原文 

https://juejin.im/post/5b1f712d6fb9a01e467d68bd

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » spring-boot版本问题让开发怀疑人生

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址