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)
'⭐ Plogramming > Spring' 카테고리의 다른 글
HikariCP - DB ConnectionPool (1) | 2023.05.08 |
---|---|
IoC 컨테이너와 @Bean, @Component (0) | 2023.05.08 |
DI와 IOC와 DIP (feat. 프레임워크와 라이브러리) (0) | 2023.05.07 |
JPA와 Mybatis 차이 = ORM과 SQL MAPPER 차이 (0) | 2023.02.09 |
Spring 웹 계층 (0) | 2023.02.04 |