TIL
BeanPostProcessor는 다른 모든 빈들보다 먼저 생성된다. BeanPostProcessor를 구현(implement)한 빈은 빈이 초기화되기 전과 초기화된 후 처리할 작업들을 설정할 수 있다.
BeanFactoryPostProcessor는 BeanPostProcessor보다 먼저 생성된다. 그렇기 때문에 빈 정의를 수정할 수 있다.(빈 프로퍼티 등)
PropertySorucesPlaceholderConfigure(BeanFactoryPostProcessor를 구현함)을 사용하면 빈프 로퍼 티나 생성자 인수값을 프로퍼티 파일(.properties 확장자를 가진 파일)에 지정할 수 있다. 대표적인 예가 DB 접속 정보를 담는 DataSource 빈에 접속 정보를 넣을 때 사용한다. '${}' 형식의 "property placeholder"에 프로퍼티 파일에 정의된 프로퍼티 이름을 넣어 사용할 수 있다.
PropertySorucesPlaceholderConfigure 빈을 따로 정의하기보다 <context:property-placeholder>를 사용하면 좀 더 간단해진다. ignore-unresolvable, location, local-override, order, properties-ref 속성을 갖는다.
PropertySorucesPlaceholderConfigurer 빈의 속성 중 localOverride를 true로 설정하면 프로퍼티 파일의 값보다 빈에서 정의 한 값을 입력하도록 설정할 수 있다.
PropertyOverrideConfigurer는 PropertySorucesPlaceholderConfigurer와 비슷하게 외부 프로퍼티 파일에 빈 프로퍼티를 지정할 수있지만, 후자와 다르게 기본값을 설정할 수 있다.
'📔개발자 일기 | | TIL' 카테고리의 다른 글
[20220429] 개발자 일기 & TIL (0) | 2022.04.29 |
---|---|
[20220428] 개발자 일기 & TIL (0) | 2022.04.28 |
[20220426] TIL (0) | 2022.04.26 |
[20220425] TIL (0) | 2022.04.25 |
[20220422] 개발자 일기 (0) | 2022.04.22 |