Окружение
Страница Окружение показывает, откуда берётся каждое свойство сервиса Spring Boot, какое значение приложение использует на самом деле, какие свойства устарели и какие бины их считывают.

Окружение в интерфейсе Axelix
Одно и то же свойство может прийти из многих мест: application.yaml, файлов профилей, переменных окружения, системных
свойств, аргументов командной строки.
Что показывает страница
На странице перечислены все свойства, сгруппированные по источникам свойств. Источники идут от наиболее приоритетного к наименее приоритетному, в том порядке, в котором к ним обращается Spring Boot (см. Externalized Configuration). Если одно и то же свойство задано в нескольких источниках, приложение использует значение из источника, который выше в списке.
Для каждого свойства видно:
- Применяется ли его значение:
- Активное, если приложение использует это значение.
- Перекрыто, если его задаёт и источник с более высоким приоритетом, поэтому это значение до приложения не доходит.
- Все источники, в которых оно задано, от наивысшего приоритета к наименьшему, с отметкой о победившем значении.
@ConfigurationPropertiesбин, который его связывает, и бины, которые получают его через@Value, со ссылками на страницы Свойства конфигурации и Бины.- Описание из
spring-configuration-metadata.json, если оно есть.

Выпадающий блок свойства в интерфейсе Axelix
Устаревшие свойства выделены и показывают сообщение об устаревании, так что перед обновлением легко найти настройки, которые нужно перенести.

Устаревшее свойство в интерфейсе Axelix
Также страница показывает активные профили сервиса и профили по умолчанию (spring.profiles.active и
spring.profiles.default).
Опасные значения свойств
Некоторые значения свойств безобидны на машине разработчика, но в production часто приводят к проблемам: потере данных,
раскрытию внутренностей приложения или медленным запросам. Axelix помечает свойства с такими значениями. Для каждого из
них показывается, чем опасно значение и какое значение использовать вместо него. Например, spring.jpa.hibernate.ddl-auto=update позволяет
Hibernate самому менять схему базы данных.
Axelix проверяет только значение, которое использует приложение, поэтому опасное значение в перекрытом источнике
свойств не помечается. Значение должно совпадать целиком, регистр не важен: management.endpoints.web.exposure.include=*
помечается, а health,* нет. Замаскированные
значения тоже не проверяются, поэтому без полномочия ENV_VALUES_READ пометки для маскируемых ключей не видно (см.
Маскирование значений).
По умолчанию все значения маскируются как ****** для пользователей, не обладающих полномочиями ENV_VALUES_READ. О
том, как выбрать, какие ключи будут замаскированы, а какие останутся открытыми, см. в разделе Маскирование
значений.
Маскирование значений
Axelix никогда не полагается на переключатель Spring Boot management.endpoint.env.show-values — он всегда просит
Spring Boot вернуть сырые значения (Show.ALWAYS) и поверх применяет собственное маскирование на основе проверки
полномочий.
Кто видит исходные значения. Вызывающие с полномочием ENV_VALUES_READ предоставляемыми встроенными ролями ADMIN
и SUPER_ADMIN — получают исходные значения. Остальные получают значения, заменённые на ******. Полную матрицу ролей
и полномочий см. в разделе Роли и
полномочия.
Какие ключи маскируются. Одно свойство стартера — axelix.sbs.endpoints.config.sanitized-properties — управляет
этим набором, и оно применяется и к axelix-env (эта страница), и к axelix-configprops (страница Configuration
Properties):
- Пустой список (по умолчанию) — все значения маскируются для пользователей без соответствующих полномочий.
- Непустой список — маскируются только указанные ключи, остальные возвращаются без изменений.
axelix.sbs.endpoints.config.sanitized-properties[0]=database.password
axelix.sbs.endpoints.config.sanitized-properties[1]=spring.datasource.password
axelix.sbs.endpoints.config.sanitized-properties[2]=jwt.signing-keyСм. Маскирование чувствительных значений свойств в руководстве по настройке Spring Boot Starter — то же свойство описано рядом с остальными настройками стартера.
Стандартные свойства Spring Boot Actuator для маскирования — management.endpoint.env.show-values,
management.endpoint.env.keys-to-sanitize и их эквиваленты для configprops — не учитываются. Вместо них используйте
axelix.sbs.endpoints.config.sanitized-properties.
MCP-инструменты
Полное окружение управляемого сервиса — свойства приложения, системные свойства и переменные окружения ОС — также доступно ИИ-агентам через MCP. См. Каталог MCP-инструментов.
Включите Нужный Actuator Ендпоинт
Если вы используете Axelix 1.2.0 или новее, ничего из этого не требуется: стартер сам регистрирует свои actuator-эндпоинты, а эндпоинты health/info Axelix больше не требуются — он отлично работает и без них. Никакая настройка здесь не нужна.
Страница работает поверх actuator-эндпоинта axelix-env, который добавляет Axelix Spring Boot Starter. Она доступна
через стандартные свойства Spring Boot Actuator. Полный список конечных точек Axelix и сопутствующих настроек см. в
разделе Настройка Spring Boot
Starter:
management.endpoints.web.exposure.include=axelix-envСм. также
Анализатор зависимостей
Анализатор зависимостей показывает все библиотеки, с которыми работает сервис Spring Boot, отмечает проекты, которые больше не развиваются активно, и показывает, получает ли ветка Spring Boot сервиса OSS-обновления.
Бины
На странице Бины перечислены все бины Spring, зарегистрированные в ApplicationContext управляемого сервиса. Каждая строка представляет собой раскрывающийся список, в котором указаны класс бина, область видимости, зависимости, квалификаторы, стратегия проксирования и исходный компонент Spring, использованный для его создания.