더북(TheBook)

BeanFactoryMessageDigest 빈을 구성한 적이 없지만 SHA1과 MD5 알고리즘을 사용하는 MessageDigest 구현체가 MessageDigest 빈으로 제공됐습니다. 이런 방식으로 BeanFactory가 동작합니다.

FactoryBeannew 연산자로 인스턴스를 생성할 수 없는 클래스를 다룰 때도 완벽한 솔루션입니다. 팩터리 메서드가 생성하는 객체를 스프링 애플리케이션에서 사용하고 싶다면 FactoryBean이 어댑터(Adapter)로 작동하도록 생성해서 애플리케이션 클래스가 스프링의 IoC 기능을 최대한 활용할 수 있게 합니다.

자바 구성 클래스로 구성을 할 때는 FactoryBean 사용 방법에 차이가 있습니다. 이때는 컴파일러가 적절한 타입으로 프로퍼티를 설정하도록 제한하기 때문입니다. 따라서 getObject() 메서드를 명시적으로 호출해야 합니다. 다음은 예제 4-27과 동일한 구성 내용을 자바 구성으로 바꾼 예제 코드입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.