He siguiente estructura de mi solicitud
----
|
|____SpringBootApplicationA
|
|
|___module-1
|___module-2
Cada módulo tiene su propia configuración, por ejemplo, el módulo-1 es la biblioteca que habla con MySQL, que tiene su configuración (cadena de conexión, nombre de usuario, contraseña, etc ...)
Ahora quiero representar esta configuración en forma de Java POJO en el módulo-1. application.yml
y un bean que leer la configuración y establece los valores.
Por ejemplo
class Module1Config {
private String key1;
private String key2;
// getters & setters
}
application.yml
en módulo-1
key1: val1
key2: val2
ahora como un consumidor de módulo-1, SpringBootApplicationA
recibirá la configuración del módulo-1, que es lo que establece de forma predeterminada por el módulo-1.
Del lado del consumidor tendrá configuración de la aplicación como esta
someKey1: someVal1
someKey2: someVal2
module-1:
key1: overrideVal1
y cuando ocurre la inicialización de los granos de módulo-1, quiero que los valores sean vistos como
key1: overrideVal1
key2: val2
Cómo configurar el arranque de primavera de respetar los valores por defecto y anularlos?
Editar
class AppConfig {
private String key1;
private int key2;
private Module1Config conf;
// getters + setters
}
Este es mi ejemplo de aplicación de configuración, como se puede ver que tiene algunas específicas de configuración de la aplicación y otras configuraciones se está aprovechando de otros módulos.
Quiero conf
objeto de conseguir asignado conjunto predeterminado de valor de módulo 1 y luego cualquier aplicación que ha especificado como una anulación
Primavera de arranque por defecto tiene cargada application.yml archivos de src / main / recursos Se puede declarar otro archivo en la carpeta config application.yml de ruta raíz y la configuración de la carpeta de configuración anulará la configuración de src / main / recursos
ubicaciones de configuración se buscan en el orden inverso. De manera predeterminada, las ubicaciones configuradas son ruta de clases: /, ruta de clases: / config /, archivo: ./, archivo: ./ config /. El orden de búsqueda resultante es la siguiente:
archivo: ./ config / archivo: ./ ruta de clases: / config / ruta de clases: /
Aquí es el enlace de la documentación oficial:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Creo que es útil