Автоконфигурация и свойства Spring BootJAVA

Программисты JAVA общаются здесь
Anonymous
Автоконфигурация и свойства Spring Boot

Сообщение Anonymous »

У меня есть 2 модуля в приложении и стартовом проекте моего проекта. Стартер содержит @Configuration и сообщает, как следует создать компонент ServiceFoo.

Код: Выделить всё

@Configuration
@EnableConfigurationProperties(FooServiceConfiguration.class)
public class StarterFoo {

@Bean
public ServiceFoo defaultBean(FooServiceConfiguration conf){
new ServiceFooImpl(conf.getName(), conf.getNumber());
}

}
У меня в стартере есть еще один класс конфигурации.

Код: Выделить всё

import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties("Foo")
public class FooServiceConfiguration {
private String name;
private int number;
// + accessors
}
в моем стартере есть application.yml, который имеет

Код: Выделить всё

Foo:
name: DefaultName
number: 101
стартер настроен на автоматическую настройку

META-INF/spring.factories

Код: Выделить всё

org.springframework.boot.autoconfigure.EnableAutoConfiguration=StarterFoo
Я хочу знать мнение о моей конфигурации относительно номера, и пользователь никогда не будет беспокоиться и переопределять этот номер. Я хочу, чтобы пользователи переопределяли имя в моей конфигурации.

Как только я создаю application.yml в приложении (пустой файл), эффект конфигурации стартера (из application.yml из starter) исчезнет.

Как я могу частично переопределить эту конфигурацию из приложения, определенного в starter?

Подробнее здесь: https://stackoverflow.com/questions/533 ... properties

Вернуться в «JAVA»