인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

김찬양님의 프로필 이미지
김찬양

작성한 질문수

스프링 핵심 원리 - 기본편

Bean 이닛메서드 지정할 때 질문

작성

·

233

0

빈 생명주기 콜백 강의에서

        @Bean(initMethod = "init", destroyMethod = "close")
        public NetworkClient networkClient(){
            NetworkClient networkClient = new NetworkClient();
            networkClient.setUrl("http://hello-spring.dev");
            return networkClient;
        }

위 코드처럼 빈 설정으로 하는 방법을 쓰는 경우는 내가 코드를 수정할 수 없는 외부 라이브러리에서 init, destroy 메서드를 지정하기 위해서라고 하셨습니다.

그런데 위 코드를 보면 메서드 지정에 클래스 없이 메서드 이름만 입력하도록 되어있어서, 해당 빈 메서드에서 반환되는 객체에서 해당 이름의 메서드를 지정하게 되는 것 같습니다.

외부 라이브러리의 경우 해당 라이브러리 클래스에 있는 메서드 중 하나를 init, close 메서드로 지정하기 위한 것인가요? 아니면 다른 클래스에서 정의가 가능한가요?

답변 1

0

안녕하세요. 김찬양님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼 해당 라이브러리 클래스에 있는 initMethod, destroyMethod를 지정하기 위한 것이라 이해해주시면 될 것 같습니다. 이 때는 해당 클래스에 있는 initMethod, destroyMethod 이름을 넣어주시면 됩니다!


감사합니다.

김찬양님의 프로필 이미지
김찬양
질문자

감사합니다.

김찬양님의 프로필 이미지
김찬양

작성한 질문수

질문하기