본문 바로가기
📔개발자 일기 | | TIL

[20220427] TIL

by 캔 2022. 4. 27.

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