Apache Groovy

Groovy 是一种功能强大、可选类型且动态的语言,同时具备静态类型和静态编译能力。它语法简洁,并能与任何现有的 Java 应用程序无缝集成。spring-doc.cadn.net.cn

Groovy Bean 定义 DSL

Spring 框架提供了一个专用的 ApplicationContext,支持基于 Groovy 的 Bean 定义 DSL,这种 DSL 在 Grails 框架中广为人知。spring-doc.cadn.net.cn

通常,此类配置位于一个“.groovy”文件中,其结构如下例所示:spring-doc.cadn.net.cn

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 定义文件。spring-doc.cadn.net.cn