Mavenを使用して簡単なSpringアプリケーションを作成しています。設定とプロパティは2つあります。階層は次のとおりです。複数のSpringアプリケーションのプロパティのオーバーライド
- package.main
- App.java
- AppConfig.java
- app.properties
- package.main.model
- ModelConfig.java
- model.properties
App.java
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
System.out.println(applicationContext.getEnvironment().getActiveProfiles()[0]);
}
AppConfig.java
@Configuration
@Import(ModelConfig.class)
@PropertySource("classpath:/package/main/app.properties")
public class AppConfig {}
app.properties
spring.profiles.active = prod
ModelConfig.java
@Configuration
@PropertySource("classpath:/package/main/model/model.properties")
@ComponentScan
public class ModelConfig {}
model.properties
spring.profiles.active = dev
- なぜ
model.properties
はapp.properties
(結果はdev
で)オーバーライドは? application.properties
を作成する方法は、新しいプロパティでオーバーロードできないSpring Bootのようなものですか?