Spring Framework 4.0 has native support for a beans{}
“DSL” (borrowed from Grails), and you can embed bean definitions in your Groovy application scripts by using the same format.
This is sometimes a good way to include external features like middleware declarations, as shown in the following example:
@Configuration class Application implements CommandLineRunner { @Autowired SharedService service @Override void run(String... args) { println service.message } } import my.company.SharedService beans { service(SharedService) { message = "Hello World" } }
You can mix class declarations with beans{}
in the same file as long as they stay at the top level, or, if you prefer, you can put the beans DSL in a separate file.