인프런 커뮤니티 질문&답변

PepperSpy님의 프로필 이미지
PepperSpy

작성한 질문수

스프링 핵심 원리 - 기본편

인터페이스 InitializingBean, DisposableBean

초기화, 소멸 인터페이스의 단점에서 질문

작성

·

431

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
초기화, 소멸 인터페이스의 단점부분에서 아래의 내용이 언급 되었습니다.

 

내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다

  • 클래스파일로 컴파일되어있는 수정이 불가한 라이브러리를 받았다고 가정해보자. 이 라이브러리의 초기화와 종료 메서드를 무조건 호출 해주어야 한다. 스프링 빈으로 이미 등록 했는데 우리는 코드를 고칠 방법이 없다.

 

위에 주어진 예시가 잘 이해가 안가서 좀 더풀어서 설명 가능하실까요?

답변 1

1

안녕하세요. Thinking Koala님, 공식 서포터즈 y2gcoder입니다.

InitializingBean과 DisposableBean 을 적용했던 방법을 떠올려보시면 좀 더 이해가 되실 것 같습니다.

빈 생명주기 콜백을 이용하기 위해서 InitializingBean 과 DisposableBean을 적용하려면 해당 인터페이스들을 구현하도록 대상 클래스를 지정해줘야 합니다.

하지만 저희가 build.gradle에 의존성을 추가해서 받는 외부 라이브러리들은 이미 컴파일된 상태이기 때문에 코드 변경이 불가능합니다. InitializingBean과 DisposableBean을 사용하려면 해당 클래스 코드를 변경해야 합니다.

 

감사합니다.

PepperSpy님의 프로필 이미지
PepperSpy

작성한 질문수

질문하기