- common 모듈
- application.yml
- api 모듈
- application-api.yml
다른 프로젝트를 import 해서 사용할 때 프로젝트 별로 yml 파일이 존재한다.
설정 파일의 이름이 동일 할 경우 상위 파일을 먼저 읽어서 하위 파일은 인식을 못 한다.
common 과 api 의 application.yml 을 둘 다 사용해야 하는 경우를 알아보자.
모듈 별로 yml 분리하기
@SpringBootApplication
public class apiApplication {
public static void main(String[] args) {
System.setProperty("spring.config.name", "application,application-api");
SpringApplication.run(apiApplication.class, args);
}
}
Application.class 에 System.setProperty 를 설정해주면 된다.
System.setProperty 는 환경변수를 등록하는 것이다.
value 에 설정하려는 파일명을 기재하면 해당 파일들을 읽어와서 사용하겠다는 뜻이다.
System.setProperty("spring.config.name", "application,api");
위 처럼 설정했다면
application.yml, application-~~~.yml,
api.yml, api-~~~.yml 등
contains 하는 파일을 찾아서 읽어 온다.
다만 모든 파일명이 application 으로 시작할 경우에는 상위 1개만 읽어오기 때문에,
위 방법이 아닌 첫번째 방법으로 정확한 파일명을 기재해야 한다.
주의사항
value 에 적는 이름은 yml 파일이어야 한다.
yml 파일명이 중복되면 안 된다.
'JAVA > Spring' 카테고리의 다른 글
[JAVA] 이미지 URL 변환 후 화면에 보여주기(가져오기) (feat.미리보기) (0) | 2024.01.09 |
---|---|
[Spring] boot 에서 JWT 인증 토큰 생성 및 사용하기 (0) | 2023.12.01 |
[JAVA] [Eclipse] project에 Dynamic Web Module 추가하는 방법 (Deployment Assembly) (0) | 2023.11.16 |
[JAVA] Map으로 전달 받은 JsonData List 목록(값) 추출하기 (0) | 2023.11.16 |
[API] Spring boot + Swagger 3 (SpringDOC, OpenAPI) 적용 및 사용법 (2) | 2023.11.13 |