Ответ
Да, Spring Boot предлагает несколько гибких механизмов конфигурации библиотек:
-
Файлы свойств/YAML — основной способ через
application.propertiesилиapplication.yml:# Пример настройки HikariCP spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.connection-timeout=30000 -
@ConfigurationProperties— для типобезопасной привязки свойств к Java-объектам:@ConfigurationProperties(prefix = "my.service") @Data // Lombok public class ServiceProperties { private String endpoint; private int timeout = 5000; private boolean enabled = true; } -
Java-конфигурация (
@Bean) — полный контроль над созданием бина:@Bean public SomeLibraryBean libraryBean(Environment env) { return new SomeLibraryBean() .setUrl(env.getProperty("library.url")) .setMode(env.getProperty("library.mode", "default")); } -
Auto-Configuration — Spring Boot автоматически настраивает библиотеки (например, DataSource, JPA) на основе classpath и свойств. Конфигурацию можно переопределить, объявив собственный бин.
-
Профили (
@Profile) — активация специфичной конфигурации для разных сред (dev, prod):@Bean @Profile("dev") public DataSource devDataSource() { return new EmbeddedDatabaseBuilder().build(); }
Принцип: Spring Boot следует подходу "convention over configuration", предоставляя разумные значения по умолчанию, которые можно точечно менять через свойства или собственную конфигурацию.