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 定义文件。