Groovy DSL

Groovy DSL

  • Spring 4.x的一个新特性是使用Groovy的语言来配置Spring的bean;
  • 这意味着我们构造一个spring的bean又多了一种方式,包括如下:
    • xml配置
    • java config(@Bean)
    • @Component,@Service,@Repository,@Controller系列
    • Groovy DSL

19.2 示例

19.2.1 演示类

package com.wisely.dsl;

public class DemoService {
    private String msg;

    public String sayHello(){
        return "hello "+msg;
    }

    getMsg() {
        return msg;
    }

    void setMsg(String msg) {
        this.msg = msg;
    }

}

19.2.2 使用groovy配置DemoService为bean

  • DemoConfig.groovy
import com.wisely.dsl.DemoService//import要注册为bean的类 //所有的bean的声明放在beans下 beans{ //demoService为bean name,DemoService为类本身,msg = "world"为注入的属性 demoService(DemoService){ msg = "world" } }

19.2.3 测试

import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; @Configuration @ImportResource("classpath:com/wisely/dsl/DemoConfig.groovy") Main { static main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("com.wisely.dsl"); DemoService ds =context.getBean(DemoService.class); System.out.println(ds.sayHello()); context.close(); } }

输出结果

Hello World

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...