더북(TheBook)

보다시피 이 클래스는 가수(Singer)를 나타내는 몇 가지 프로퍼티를 가진 단순한 자바 클래스입니다. 여기에서는 이 단순한 클래스를 사용해 그루비로 빈 구성을 하는 것이 전체 코드를 모두 그루비 기반으로 재작성해야 함을 의미하지 않는다는 것을 알아보려고 합니다. 그뿐만이 아닙니다. 그루비 스크립트 내에서 의존성으로 자바 클래스를 가져와서 사용할 수도 있습니다. 이제 앞에서 본 클래스의 빈 인스턴스를 생성할 때 사용하는 그루비 스크립트를 작성해 보겠습니다.

예제 4-95 Singer 빈 인스턴스를 생성하는 그루비 스크립트([[groovy-config-java]] beans.groovy)

package com.apress.prospring5.ch4

import com.apress.prospring5.ch3.xml.Singer

beans {
    singer(Singer, name: 'John Mayer', age: 39)
}

 

이 그루비 스크립트는 beans라 불리는 최상위 레벨 클로저(Closure)로 시작하는데 이 클로저는 스프링에 빈 정의를 제공합니다. 우선 빈 이름을 singer로 지정하고 인수로 클래스 타입을 Singer로 지정한 후, 해당 Singer 클래스 인스턴스에 설정하고자 하는 프로퍼티 이름과 값을 이어서 설정했습니다. 이제 자바로 그루비 스크립트에서 빈 정의를 읽어 오는 테스트 프로그램을 작성하겠습니다. 코드는 아래와 같습니다.

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