Я создаю Spring Boot Application, и мне интересно, можно ли загрузить upmteens application.yml файлы разных модулей.
У меня есть такая структура:
myProject
|__ moduleCommons
| |__ application.yml
|__ moduleWeb
| |__ application.yml
| |__ MyProjectWebApplication.java
|__ moduleBatch
|__ application.yml
|__ MyProjectBatchApplication.java
Чтобы запустить приложение веб-модуля Spring Boot, я запускаю MyProjectWebApplication.java.
Чтобы запустить пакетный модуль Spring Batch, я запускаю MyProjectBatchApplication.java.
Им обоим нужно несколькосвойства commons, которые задаются в файле application.yml модуля commons (например, конфигурация базы данных, пути к каталогам для загрузки файлов и т. д.).И некоторые другие свойства специфичны для каждого модуля, поэтому задайте его в файле application.yml веб-модуля (например, путь контекста сервлета, параметры jwt) или в пакетном модуле (например, параметры почтовой программы).
И, например, MyProjectWebApplicationкласс, в который я хотел бы загрузить файлы web и commons application.yml:
package com.myProject.web;
@SpringBootApplication(
scanBasePackages = {"com.myProject.web", "com.myProject.commons"},
exclude = {DataSourceAutoConfiguration.class, LiquibaseAutoConfiguration.class}
)
@EnableJpaRepositories(
basePackages = "com.myProject.commons.datasources.defaut.repository",
repositoryFactoryBeanClass = EnversRevisionRepositoryFactoryBean.class
)
@ContextConfiguration(classes = {MyProjectDbConfig.class})
public class MyProjectWebApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyProjectWebApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyProjectWebApplication.class, args);
}
}
Но, похоже, я загружаю только файл application.yml веб-модуля с этой конфигурацией ...
Help!:)