설정 값 분리의 필요성
- 환경에 따라 유연한 값 설정 가능
- 초기값을 설정 가능
- 불필요한 컴파일 축소 가능
전제 조건
- classpath의 기본 위치는 프로젝트/src/main/resources다.
PropertyPlaceHolderConfigurer를 통한 수동 변환
- 설명
- 빈 설정 메타정보가 모두 준비됐을 때 빈 메타정보 자체를 조작하기 위해 사용하는 방식
- 전체 조건
- 해당 클래스에 @Configuration 어노테이션과 @PropertySource(“classpath:설정파일경로”) 어노테이션을 명시해준다.
- 사용 예시
- xml
- user.username=HongGilDong
- user.birthday=970229
- class
- xml
SpEL을 통한 능동 변환
- 설명
- 다른 빈 오브젝트에 직접 접근할 수 있는 표현식을 이용해 원하는 프로퍼티 값을 능동적으로 가져온다.
- 전체 조건
- 해당 클래스에 @Component 어노테이션을 명시해준다.
- 사용 예시
- 빈으로 등록할 클래스
1
- 빈을 사용할 클래스 >>>
※ 주의점 메소드 및 생성자 인자에 @Value를 사용할 때는
@Autowired나 @Resource같은 어노테이션이 반드시 존재해야 한다.
Environment을 통한 능동 변환
- 설명
- 다른 빈 오브젝트에 직접 접근할 수 있는 표현식을 이용해 원하는 프로퍼티 값을 능동적으로 가져온다.
- 전체 조건
- 해당 클래스에 @Configuration 어노테이션과 @PropertySource(“classpath:설정파일경로”) 어노테이션을 명시해준다.
- 사용 예시
- xml
- user.username=HongGilDong
- user.birthday=970229
- class
- xml