Spring Boot 2: Как загрузить каждый файл application.yml разных модулей в определенный веб или пакетный запуск - PullRequest
0 голосов
/ 09 марта 2019

Я создаю 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!:)

...