1. Проблемы возникают
Когда мы обновляем фреймворк со старой версии на новую, могут последовать различные ямы совместимости, что обычно неожиданно, потому что в новой версии могут быть удалены некоторые элементы конфигурации старой версии. Также возможно, что элементы конфигурации старой версии изменена версия и т.д.
Нет, сегодня Xiaobian столкнулся с такой ямой, эта яма из-за того, что я поставилspring-boot
Изменения были внесены после обновления версии, что заставило меня некоторое время подозревать, что я где-то что-то неправильно настроил. Давайте посмотрим, что это за яма?
когда мы развиваемсяspring-boot
При применении приложения часто необходимо настроить некоторые свойства системы, например, если вы делаете систему в7000
порт работает, то вам просто нужноappication.properties
Добавьте в файл следующие элементы конфигурации:
server.port=7000
Или, если вы хотите ограничить размер загружаемых файлов, вы можете настроить следующее:
spring.http.multipart.max-file-size=10M
Вот проблема, которую я обнаружил, когда обновил весеннюю версию с 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, потому что редактор одновременно развернул приложение на сервере Alibaba Cloud и использовал nginx для соответствующей переадресации, что однажды заставило меня задуматься, не ошиблась ли моя конфигурация на nginx.nginx -t
После этого было установлено, что синтаксической ошибки нет, и другие приложения также могут нормально обращаться к нему.
Позже я подозревал и то, и другое, почти не сомневался в своей жизни, в конце концов, я узнал, что это вызвано проблемой версии, до версии 2.0.0.server.context-path
Конфигурация действительна, но изменена на более позднюю версию 2.0.0server.servlet.context-path
, чтобы опубликовать соответствующие доказательства, я искал родной город spring-boot на github и разместил его детище ниже:GitHub.com/spring-pro — это…
Суммировать
На этот раз мне потребовалось некоторое время, чтобы разобраться.Думаю, это тоже связано с отсутствием у меня опыта.Поэтому редактор считает, что если вы столкнетесь с сопутствующими проблемами разработки в будущем, вам стоит научиться копировать структуру фреймворка.После все, сокровища есть. ! Посмотрите, какие обновления доступны в новой версии, а затем подумайте о переходе на другую версию. Но если ваше приложение уже запущено в производственной среде, переключение версии должно учитывать степень воздействия и не затрагивать другие бизнес-функции.
spring-boot
Контента по-прежнему много, эта структура также является относительно популярной в настоящее время серверными микросервисами, и это также способspring-cloud
Единственный выход, давайте работать вместе!