jar 파일로 만들어서 리눅스에서 실행시키려 하는데 hostname이 자꾸 달라져서 고민 끝에 외부 설정 파일로 빼기로 했다.
그럼 jar 내부에 있는 properties보다 우선순위가 위에 있기 때문에 jar 밖에서 설정하면 그 부분을 따라가게 된다.
우선순위 순으로 정의한 프로퍼티 값이 오버라이딩된다.
- 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties
- 테스트에 있는 @TestPropertySource
- @SpringBootTest 어노테이션의 properties attribute
- 커맨드 라인 arguement
- SPRING_APPLICATION_JSON (환경 변수 또는 시스템 프로퍼티) 에 들어있는 property
- ServletConfig 파라미터
- ServletContext 파라미터
- java:comp/env JNDI attribute
- System.getProperties() 자바 시스템 property
- OS 환경 변수
- RandomValuePropertySource
- JAR 밖에 있는 특정 프로파일용 application properties
- JAR 안에 있는 특정 프로파일용 application properties
- JAR 밖에 있는 application properties
- JAR 안에 있는 application properties
- @PropertySource
- 기본 property (SpringApplication.setDefaultProperties)
'⭐ Programming > Backend' 카테고리의 다른 글
| ThreadPool TaskExecutor와 Async TaskExecutor (0) | 2025.06.18 |
|---|---|
| Stream(collect, filter, map) (0) | 2023.07.12 |
| 쿼츠 스케줄러 (0) | 2023.05.08 |
| HikariCP - DB ConnectionPool (1) | 2023.05.08 |
| IoC 컨테이너와 @Bean, @Component (0) | 2023.05.08 |