使用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>
相关文章推荐
- Group By Count不能显示0的问题
- 优秀博客收藏
- Pro Git 读书笔记
- Server.Transfer 和 Response.Redirect 用法区别
- hdu 1025 最长严格上升子序列
- C语言高级应用---操作linux下V4L2摄像头应用程序
- HDU 1878 欧拉回路(并查集+欧拉回路)
- C语言高级应用---操作linux下V4L2摄像头应用程序
- C语言高级应用---操作linux下V4L2摄像头应用程序
- 2016-03-28蓝桥杯省赛
- awk的使用
- 神经网络一些实验
- 分形 递归打印之神奇三角形
- CodeForces - 366A Dima and Guards (模拟) 水
- hibernate 的 set 属性整理
- Android 广播学习总结
- java——protected
- ThreadLocal(4)--总结
- 《JAVA夜未眠》读感
- ASP.NET MVC源码分析