예제 3-15에 나타낸 예제를 살펴보자.
예제 3-15 mydocuments.groovy
import com.apress.isf.spring.service.SearchEngineService
import com.apress.isf.spring.data.DocumentRepository
import com.apress.isf.java.model.Document
beans {
engine(SearchEngineService) {
documentDAO = ref("documentDAO")
}
documentDAO(DocumentRepository) {
doc1 = ref("doc1")
doc2 = ref("doc2")
doc3 = ref("doc3")
doc4 = ref("doc4")
}
doc1(Document) {
name = "Book Template"
type = ref("pdfType")
location = "/Users/felipeg/Documents/Random/Book Template.pdf"
}
doc2(Document) {
name = "Sample Contract"
type = ref("pdfType")
location = "/Users/felipeg/Documents/Contracts/Sample Contract.pdf"
}
doc3(Document) {
name = "Clustering with RabbitMQ"
type = ref("noteType")
location = "/Users/felipeg/Documents/Random/Clustering with RabbitMQ.txt"
}
doc4(Document) {
name = "Pro Spring Security Book"
type = ref("webType")
location = "http://www.apress.com/9781430248187"
}
webType(com.apress.isf.java.model.Type) {
name = "WEB"
desc = "Web Link"
extension = ".url"
}
pdfType(com.apress.isf.java.model.Type) {
name = "PDF"
desc = "Portable Document Format"
extension = ".url"
}
noteType(com.apress.isf.java.model.Type) {
name = "NOTE"
desc = "Text Notes"
extension = ".txt"
}
}
예제 3-15는 XML(예제 3-6 참고), 애너테이션 기반(예제 3-11 참고) 또는 자바 설정 클래스(예제 3-13 참고)를 표현하는 새로운 방법을 보여주며, 이제 그루비를 주 언어로 사용한다. ‘18장. 스프링과 그루비’에서 문법을 다룰 것이므로, 당장은 문법에 신경 쓰지 않아도 된다.