Minsu
Minsu

Reputation: 161

Multiple application.yml not merged in Spring Boot

I have a module for database communication(my-db-lib), and which is imported to spring boot based web application module(my-web-app)

I want to set configuration about db in my-db-lib, and set about web app in my-web-app

When I use yml file,

  1. application.yml in my-db-lib db: url: localhost
  2. application.yml in my-web-app app: message: hello

When my-web-app runs, it can read only app.message not db.url

It seems that yml files are just replaced with one which has highest priority (when not use profiles) Is it right? How can I achieve purpose?

Thanks, And sorry for my poor English :D

Upvotes: 4

Views: 1198

Answers (2)

mys
mys

Reputation: 149

As a trick, I moved the other application.yml to the '/config' folder.

This should probably work.

my-db-lib/src/main/resources/config/application.yml
my-web-app/src/main/resources/application.yml

Perhaps you need to use a sufficiently high version of Spring Boot.

Note: Folders different from '/config', such as '/config/db', will not work.

Upvotes: 3

Peter Lin
Peter Lin

Reputation: 21

The application.yml in child module will be override by application.yml in parent module.

You can use this:

  1. application-my-db-lib.yml for module my-db-lib
  2. application.yml for module my-web-app

Upvotes: 1

Related Questions