Apache Groovy
Groovy 是一種功能強大、可選型別且動態的語言,具有靜態型別和靜態編譯能力。它提供簡潔的語法,並能與任何現有 Java 應用程式平滑整合。
Groovy Bean 定義 DSL
Spring 框架提供了一個專用的 ApplicationContext,支援基於 Groovy 的 Bean 定義 DSL,這在 Grails 框架中很常見。
通常,此類配置位於“.groovy”檔案中,其結構示例如下:
beans {
dataSource(BasicDataSource) {
driverClassName = "org.hsqldb.jdbcDriver"
url = "jdbc:hsqldb:mem:grailsDB"
username = "sa"
password = ""
settings = [mynew:"setting"]
}
sessionFactory(SessionFactory) {
dataSource = dataSource
}
myService(MyService) {
nestedBean = { AnotherBean bean ->
dataSource = dataSource
}
}
}
這種配置風格在很大程度上等同於 XML bean 定義,甚至支援 Spring 的 XML 配置名稱空間。它還允許透過 importBeans 指令匯入 XML bean 定義檔案。