Apache Groovy

Groovy は強力な、オプションで型指定された動的言語であり、静的型付けと静的コンパイル機能を備えています。簡潔な構文を提供し、既存の Java アプリケーションとスムーズに統合します。

Groovy Bean 定義 DSL

Spring Framework は、Grails フレームワークで知られる Groovy ベースの Bean 定義 DSL をサポートする専用の ApplicationContext を提供します。

通常、このような構成は、次の例に示す構造の ".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 定義ファイルをインポートすることもできます。