Во-вторых, объяснение файла конфигурации SpringBoot

Spring Boot

Добавить файл конфигурации


Java-программисты используют Spring уже несколько лет, но файлы конфигурации при использовании комбинации Spring и других фреймворков усложняются. Например, если вы хотите добавить mybatis, вы можете добавить конфигурацию spring-mybatis.xml. Но когда появился SpringBoot, все это исчезло, это упростило настройку и упростило создание проектов. В этом разделе рассказывается о том, как создается файл конфигурации Springboot. Создайте проект maven, а также каталог java и каталог ресурсов. Каталог ресурсов используется для хранения файлов конфигурации.

Файлы конфигурации бывают двух видов

  • .характеристики Файл конфигурации, заканчивающийся свойствами, такой же, как и наш традиционный файл конфигурации.

    enter description here

  • .yml Что-то вроде древовидной структуры

    enter description here

Сначала поговорим о *.properties Когда мы создаем проект springboot с idea, для нас будет создан файл application.properties, но этот файл конфигурации пуст. Какие свойства обычно хранятся в проекте в application.properties? Проекты, созданные с помощью springboot, обычно делятся на среды, например, в дополнение к созданию application.properties Также будут созданы следующие 3 файла приложение-dev.properties приложение-test.properties приложение-prod.properties Какова роль этих трех файлов? В таблице ниже поясняется

application.properties Этот файл конфигурации является универсальным, независимо от любой среды, будет указана конфигурация внутри.
application-dev.properties dev Эта конфигурация является конфигурацией среды разработки.
application-test.properties test Это конфигурация тестовой среды
application-prod.properties prod Это конфигурация официальной среды

Глядя на эту таблицу, вы можете узнать, какова их роль. Потом снова проблема 1> Тогда откуда мне знать, что я использую dev в среде разработки, test в среде тестирования и prod в онлайн-среде? 2> В чем разница между этими средами? Давайте сначала объясним первый вопрос: Конфигурационный файл application.properties — это конфигурационный файл, который будет использоваться в любой среде.В нем можно установить свойства spring.profiles.active=dev.При запуске проекта springboot свойства application-dev.properties будут Если вы хотите прочитать конфигурацию тестовой среды, измените dev на test, и все будет в порядке.

enter description here
В этом случае возникает другая проблема.Если я делаю проект в jar-пакет, то мне нужно заодно развернуть его на linux-сервере.Как его настроить на тестирование?Это тоже очень просто. Пакет jar, созданный проектом springboot, можно запустить с помощью java -jar XXX.jar. А еще он поддерживает добавление параметров сзади java -jar XXX.jar --spring.profiles.active=test Это решает проблему. Эти параметры можно настроить в файле оболочки, что более удобно

При пояснении второго вопроса: Например, в среде dev мой IP-адрес сервера — 192.168.0.5, в тесте IP-адрес моего сервера — 192.168.0.100, в prod IP-адрес моего сервера может быть www.xxx.com. Или адрес доступа к базе данных конфигурации, он должен быть разным для каждой среды. Это благо окружающей среды.

Так как же нам получить доступ к этим свойствам в программе? springboot предоставляет два способа доступа 1>Добавить @Value("${server.ip}") непосредственно в свойство

enter description here

2> Назначьте конфигурацию javabean

enter description here
ссылаться на javabeans, где это необходимо
enter description here

С помощью двух вышеуказанных методов мы можем легко добавить и получить конфигурацию системы.

веб-тест


  • Новый управляющий слой
    enter description here
    enter description here

Аннотация, используемая в слое управления на приведенном выше рисунке, не @controller, а @Restcontroller, В чем разница между ними? @Restcontroller содержит аннотацию @controller и аннотацию @ResponseBody. Раньше, если мы хотели вернуть данные json, нам нужно было добавить @ResponseBody в метод слоя управления. Теперь мы можем сделать это с помощью @Restcontroller.

  • тестовое задание

    enter description here

    Что лучше, *.properties или *.yml? yml рекомендуется Конфигурационный файл progperties относительно интуитивно понятен: одна строка представляет один атрибут, что просто и понятно, но немного запутанно, когда атрибутов много. Файл конфигурации yml имеет четкую иерархию и больше похож на выражение класса java.Даже если атрибутов много, его можно разместить под атрибутом родительского класса.

Суммировать


Конфигурационные файлы, предоставляемые SpringBoot, значительно повышают эффективность разработки программистов.Нет необходимости тратить много времени на настройку из-за добавления атрибута.Более того, многие фреймворки также интегрированы с SpringBoot, и настройку этих фреймворков также можно интегрирован в конфигурацию SpringBoot.файл, более удобный.