Переопределить версию Spring Framework в приложении Spring Boot, созданном с помощью Gradle
Если вы хотите использовать или просто проверить новейшую версию Spring с Spring Boot, но текущая версия Spring Boot зависит от более старой версии Spring, вам необходимо немного изменить конфигурацию сборки Gradle.
Например, на момент написания этого блога текущие версии были Spring 4.2.1 и Spring Boot 1.2.5. Spring Boot 1.2.5 зависит от Spring 4.1.7. Так что же делать, чтобы использовать Spring 4.2.1 с Spring Boot 1.2.5? Взгляните на два способа достижения этого: с и без Spring IO Platform.
Spring IO Platform
Идея Spring IO Platform заключается в предоставлении версий библиотек, которые, как известно, работают вместе с помощью управления зависимостями Maven. Основная причина, по которой вы должны рассмотреть Spring IO Platform для своего проекта, заключается в том, что вам не нужно заботиться о зависимых версиях проектов Spring вместе с их зависимостями.
Платформа также поддерживается Gradle через плагин управления зависимостями – плагин, который обеспечивает функциональность управления зависимостями, подобную Maven. Чтобы использовать его, вы можете просто импортировать BOM платформы в файл build.gradle вашего приложения:
dependencyManagement < mavenBom 'io.spring.platform:platform-bom:1.1.3.RELEASE'
Если вам удастся сгенерировать проекты с помощью Spring Initializr, вы заметите, что плагин управления зависимостями Gradle уже включен. Осталось добавить конфигурацию управления зависимостями, импортировать BOM как показано выше, и добавить зависимости без версий – так как версии предоставляются BOM .
Переопределение версий зависимостей
Переопределение версии зависимости так же просто, как изменение значения свойства версии зависимости, которое можно найти в BOM и ее предках здесь и здесь .
Свойства можно изменить в файле gradle.properties :
spring.version = ‘4.2.1.RELEASE’
или в файле build.gradle :
ext[ ‘spring.version’ ] = ‘4.2.1.RELEASE’
Вышеуказанное свойство определяет версию фреймворка Spring. Переопределение позволяет настроить версию Spring в приложении Spring Boot.
- Полный файл: https://gist.github.com/kolorobot/71f0f208ffcd7c5979e7
Предполагая, что у вас установлен Gradle 2.6, выполните задачу dependencyInsight :
gradlew dependencyInsight —dependency org.springframework
Как вы можете видеть ниже, Spring 4.1.7, требуемый Spring Boot 1.2.5, был преобразован в Spring 4.2.1:
Как узнать версии зависимостей, используемые в Spring Boot?
Я знаю, что можно зайти на страницу проекта Spring Boot, там в разделе Learn найти нужную версию бута, щелкнуть по ссылке «Reference Doc > Dependency versions» и на открывшейся странице будут все зависимости и их версии. Но мне хотелось бы разобраться, как определить версии, используя git репозиторий бута. Я нашел файл сборки graddle, там какие-то версии есть, но я не уверен, то ли это. Например, там не ищется spring-security-core, spring-web и т.д. В общем, хочу разобраться как, имея на руках pom, сгенерированный на start.spring.io
org.springframework.boot spring-boot-starter-parent 3.2.0-M1 . org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-web org.projectlombok lombok true
понять через git репозиторий бута, какие именно зависимости входят в spring-boot-starter-security, spring-boot-starter-web и какие у этих зависимостей версии.
Отслеживать
задан 9 авг 2023 в 11:59
slarkwithskadi slarkwithskadi
Настройка Spring Boot CLI и пример HelloWorld
В моих предыдущих сообщениях «Компоненты и внутренние устройства Spring Boot» мы обсуждали основы Spring Boot и использование четырех основных компонентов Spring Boot. Теперь мы выберем один компонент Spring Boot: CLI и подробно обсудим его.
Что такое Spring Boot CLI?
Spring Boot CLI (интерфейс командной строки) — это программное обеспечение Spring Boot для запуска и тестирования приложений Spring Boot из командной строки. Когда мы запускаем приложения Spring Boot с помощью CLI, он внутренне использует компоненты Spring Boot Starter и Spring Boot AutoConfigurate для разрешения всех зависимостей и выполнения приложения. Внутри он содержит Groovy и Grape (менеджер зависимостей JAR) для добавления значений Spring Boot по умолчанию и автоматического разрешения всех зависимостей. Мы собираемся обсудить установку CLI, настройку CLI и команды CLI в среде Windows. Это почти похоже на другую среду.
Установка командной строки Spring Boot
Мы можем установить программное обеспечение Spring Boot CLI с помощью установщика Windows или Zip-файла. Оба подхода просты в установке и дают нам одно и то же программное обеспечение Spring Boot CLI. Мы собираемся использовать простой метод с использованием Zip-файла. Мы собираемся использовать Spring Boot. Последняя версия: 1.2.3.RELEASE. Мы можем загрузить программное обеспечение Spring Boot CLI по адресу: https://start.spring.io/ (это веб-интерфейс Spring Initilizr. Мы подробно обсудим этот компонент). в следующих сообщениях.) Выполните следующие действия, чтобы установить и настроить программное обеспечение Spring Boot CLI в среде Windows.
set PATH=D:\spring-boot-cli-1.2.3.RELEASE\bin;%PATH%

spring --version
Мы можем использовать «spring —help», чтобы узнать версию Spring Boot CLI, как показано ниже.
spring --help
Теперь наш процесс установки Spring Boot CLI успешно завершен. Прежде чем обсуждать пример Spring Boot «HelloWorld», сначала мы увидим, как запускать сценарии Groovy из командной строки.
Команда Spring Boot «весна»
Программное обеспечение Spring Boot CLI предоставляет команду «spring» для запуска сценариев Spring Boot Groovy из командной строки. Как мы только что видели, команда Spring Boot «spring —help» имеет множество опций для использования этой команды для различных целей. Одна важная опция, которую мы собираемся использовать здесь, это опция «запустить». Синтаксис команды «пружина»:
spring run
Вот имя файла Groovy Script приложения Spring Boot. Мы будем использовать эту команду для выполнения нашего примера Spring Boot HelloWorld. Пришло время поработать с примером Simple HelloWorld Spring Boot с Spring Boot CLI.
Пример Spring Boot HelloWorld
Теперь мы собираемся разработать пример Spring Boot MVC RestController. Это был первый пример, опубликованный в Twitter командой Pivotal, демонстрирующий мощь Spring Boot Framework. Чтобы разработать пример Spring Boot HelloWorld, выполните следующие шаги:
- Создайте папку \HelloWorld в нашей локальной файловой системе для размещения наших отличных скриптов.
- Разработайте файл сценария Groovy, используя следующий контент
@RestController class HelloWorld < @RequestMapping("/") String hello() < "Hello JournalDev World." >>
Назовите этот файл как HelloWorld.groovy. Здесь расширение «.groovy» является обязательным. Объяснение кода
- Определил контроллер REST, используя аннотацию Spring 4 MVC @RestController.
- Определил URL-адрес сопоставления \/, используя аннотацию Spring MVC @RequestMapping.
- Определен метод возврата строки клиенту или веб-браузеру.
Наблюдения за кодом Если мы посмотрим на наш HelloWorld.groovy, мы сможем обнаружить следующие важные моменты.
- Нет импорта
- Нет другой XML-конфигурации для определения компонентов Spring MVC, таких как представления, ViewResolver и т. д.
- Нет объявлений web.xml и DispatcherServlet
- Нет скриптов сборки для создания нашего файла войны приложений
- Не нужно создавать военный файл для развертывания этого приложения
Тогда кто предоставит все это нашему приложению Spring Boot HelloWorld? Сначала запустите приложение и посмотрите результаты, тогда мы ответим на этот вопрос. Теперь папка Spring Boot HelloWorld Example выглядит так.
Теперь наш пример Spring Boot HelloWorld готов с Spring MVC RestController. Пришло время запустить и протестировать этот пример, чтобы узнать о Power of Spring Boot Framework.
Пример запуска Spring Boot HelloWorld
Выполните следующие шаги, чтобы протестировать наше приложение Spring Boot HelloWorld Example:
- Откройте командную строку в папке \HelloWorld в нашей локальной файловой системе.
- Выполните следующую команду
spring run HelloWorld.groovy

Если мы посмотрим на это приложение Spring Boot, то у нас может возникнуть вопрос: кто предоставит все эти вещи нашему приложению Spring Boot HelloWorld?
- Нет импорта
- Нет другой XML-конфигурации для определения компонентов Spring MVC, таких как представления, ViewResolver и т. д.
- Нет объявлений web.xml и DispatcherServlet
- Нет скриптов сборки для создания нашего файла войны приложений
- Не нужно создавать военный файл для развертывания этого приложения
Ответ на этот вопрос: за это отвечают основные компоненты Spring Boot, компилятор Groovy (groovyc) и Groovy Grape (диспетчер зависимостей Groovy JAR). Spring Boot Components использует Groovy Compiler и Groovy Grape, чтобы предоставить некоторые настройки по умолчанию, добавляя требуемый импорт, обеспечивая необходимую конфигурацию, разрешая зависимости jar, добавляя метод main() и т. д. Как разработчику Spring Boot нам не нужно беспокоиться обо всем этом. Spring Boot Framework позаботится обо всем этом за нас. В этом прелесть Spring Boot Framework. Таким образом, среда Spring Boot позволяет избежать большого количества шаблонного кода и конфигурации Spring, сокращает время разработки и повышает производительность. Здесь мы мало обсуждали аннотации Spring Boot, API Spring Boot, использование метода main() в приложении Spring Boot и т. д. Мы ответим на все эти вопросы в следующих сообщениях, используя IDE Spring Boot. Вот и все о Spring Boot CLI. Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий.
Все права защищены. © Linux-Console.net • 2019-2023
Как узнать какие версии библиотек установлены в Java проекте?
Всем привет, подскажите пожалуйста, как можно узнать какие библиотеки и их версии были установлены в проекте на Java?
Например в C# для этого надо открыть файл .csproj а есть какой нибудь такой-же файл на Java?
- Вопрос задан более двух лет назад
- 822 просмотра
1 комментарий
Простой 1 комментарий

Ерлан Ибраев @mad_nazgul
Можно в IDEA посмотреть в разделе проекта External Libraries
Решения вопроса 0
Ответы на вопрос 2

Erik Mironov @Erik_Mironov
Старые вопросы: *Dies from cringe*
Библиотеки могут быть добавлены в проект как в виде java-архива вручную, так и управляться системой автоматической сборки проектов по типу maven/gradle/ant. Делают абсолютно то же самое, а именно добавляют java-архивы в раздел «External Libraries» вашего проекта, в названии самого архива как правило указывается версия этой библиотеки, либо если вы пользуетесь системой авто-сборки, то версия библиотеки указывается в разметке при ее добавлении.
Ответ написан более двух лет назад
Комментировать
Нравится 5 Комментировать
mvn dependency:tree если используется мэйвен
gradle dependencies для гредла
обратите внимание, что могут найтись библиотеки с разными версиями и тогда нужна знать стратегию разруливания, используемую системой управления звависимостей.
например https://maven.apache.org/guides/introduction/intro.
В любом случае можно вручную задать желаемую версию любой библиотеки.
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Java
- +1 ещё
Как разрабатывать приложение Spring, чтобы каждый раз не деплоить его на сервер для отладки?
- 1 подписчик
- 5 часов назад
- 59 просмотров