您的位置:首页 > 其它

使用Groovy进行依赖注入

2016-03-28 22:28 417 查看

为什么选择Groovy?

传统的依赖注入是XML,对我而言,可读性太差,太不美观,强烈地想换一个方式进行依赖注入,Groovy作为XML的替代方案,在Spring4之后被引入,是基于JVM的一门方言,具有较强的可读性,写更少的更易懂的脚本,完成同样的功能。

基于Spring boot框架

我选择了Spring boot框架作为MVC,看重了它的惯例大于配置,不用繁琐地配置。


以下代码是伪代码,只是大概说明使用的方式


Application.java

@SpringBootApplication
class Application {
public static void main(String[] args) {
Object[] sources = new Object[]{ Application.class, new ClassPathResource("application_context.groovy") };
SpringApplication.run(sources, args);
}
}

在Application启动的时候读入该脚本,解析出错会抛出异常。

src/main/resources/application_context.groovy

beans {
userService(UserMockService) {
parameter = "你能在这初始化参数"
}
}

在groovy配置文件里能声明要注入的beans,可以配置初始化时的参数值,这里就是声明一个
userService
,它的实现是
UserMockService


UserController.java

@Controller
class UserController {
@Autowired
private UserService userService;

public User getUserAction(Long userId) {
return userService.findByUserId(userId);
}
}

User.java

class User {
String name;
public User(String name) {
this.name = name;
}
}

UserService.java

interface UserService {
User findByUserId(Long userId);
}

UserMockService.java

class UserMockService implements UserService {
private String parameter;

public String getParameter() { return parameter; }
public void setParameter(String parameter) {
this.parameter = parameter;
}
public User findByUserId(Long userId) {
return new User("mockUser");
}
}

参考资料

Spring4支持Groovy依赖注入

Spring boot Groovy依赖注入示例代码

< fuck>XML< /fuck>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: