스프링 부트: 여러 yml 파일 사용 방법
스프링 부트에서는 application.properties를 application.yml로 대체하고 YAML 형식을 사용할 수 있습니다.하지만 제 application.yml이 복잡해져서 조금 나눠야 합니다.내가 어떻게 그럴 수 있을까?저는 다음과 같은 것을 하고 싶습니다.
...
@Configuration
@EnableAutoConfiguration
@EnableWebMvc
@EnableScheduling
@PropertySource({"classpath:application.yml", "classpath:scheduling.yml"})
public class ApplicationConfig {
...
- 제거한다.
@PropertySource
주석, 필요 없습니다. - 사용자 이름 변경
scheduling.yml
안으로src/main/resources/application-scheduling.yml
추가하다
src/main/resources/application.yml
파일 다음 행:spring.profiles.include: 'scheduling'
@PropertySource
는 YAML을 지원하지 않습니다(아마도 봄 4.1부터 지원 예정).설정할 수 있습니다.spring.config.location
또는spring.config.name
쉼표로 구분된 목록(예: 시스템 속성 또는 명령줄 인수)으로 이동합니다.
개인적으로 저는 모든 YAML이 같은 장소에 있는 것이 좋습니다(이 구조는 시각적으로 매우 유용하며 파일 내의 문서를 사용하여 더 분할할 수 있습니다).그냥 맛인 것 같아요.
구성 및/또는 환경이 많은 경우 보통 다음과 같이 수행합니다.
$ cat src/main/resources/application.yml:
spring:
profiles:
include: >
profile1,
profile2,
...
profileN
$ ls -lah src/main/resources/config:
drwxr-xr-x 4 mak staff 136B Apr 16 23:58 .
drwxr-xr-x 6 mak staff 204B Apr 17 01:54 ..
-rw-r--r-- 1 mak staff 60B Apr 16 23:58 application-profile1.yml
-rw-r--r-- 1 mak staff 62B Apr 16 23:16 application-profile2.yml
...
-rw-r--r-- 1 mak staff 50B Apr 16 23:16 application-profileN.yml
응용 프로그램에 4개의 .yml 파일이 필요하다고 가정합니다.
application.yml
application-dev.yml
application-uat.yml
application-prod.yml
파일마다 다른 설정을 해야 합니다.
dev, uat ot prod level 등 적절한 환경에서 설정을 하면 됩니다.또, 는, 1개의 속성만을 추가할 필요가 있습니다.application.yml
파일.
spring:
profiles:
active: dev
application: /* optional */
name: Application Name
메인 yaml 파일에서 활성 프로파일 개념을 사용할 수 있습니다.예를 들어 다음과 같습니다.
spring.profiles.active: test
그 말은 즉, 당신이application-test.yml
파일을 리소스 디렉토리에 저장합니다.활성 프로파일은 기본 yaml 파일에서 이름이 같은 속성을 덮어씁니다.
상세한 것에 대하여는, http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html 를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/23134869/spring-boot-how-to-use-multiple-yml-files
'programing' 카테고리의 다른 글
CORS 오류: 요청 헤더 필드 허가가 비행 전 응답의 Access-Control-Allow-Headers에 의해 허용되지 않습니다. (0) | 2023.02.23 |
---|---|
Jest를 사용하여 메서드 호출을 감시하려면 어떻게 해야 합니까? (0) | 2023.02.23 |
WordPress REST API를 사용한AJAX 경유 비밀번호 변경 (0) | 2023.02.23 |
@PathVariable in SpringBoot(URL 슬래시 포함) (0) | 2023.02.23 |
갑자기 Springfox Swagger 3.0이 spring webflux에서 작동하지 않음 (0) | 2023.02.23 |