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