- 热门文章:
- · 在java应用程序中显示数据库的blob图像
- · 学习心得:Java为什么支持反射机制?
- · java中两个字符串“Equals”和“==”的区别
- · 完全掌握java中的包机制
- · 生产者消费者模型的Java简单实现
- · JAVA 中 jar 文件的编写和应用
- · JAVA程序的性能优化
- · Java how to program(Third Edition)——我的java手记(五)
- · Java how to program(Third Edition)——我的java手记(四)
- · Java how to program(Third Edition)——我的java手记(三)
- · Java how to program(Third Edition)——我的java手记(二)
- · javascript escape/unescape编码的Java实现
Groovy MOP,实现传说中Java7.0的XML嵌入式语法
使用MOP可以简单的对属性和方法进行拦截和解释,intercept 已经因为AOP而被大家熟悉。在Groovy里,通过重载GroovyObject的get/setProperty()函数和invokeMethod()函数,可以加入自己的hook和behavior,比Java简单的多的实现proxy和delegator。
而更重要的是,MOP函数可以充当领域语言解释者的角色,拦截一些在Class里根本没有定义的属性、方法来进行解释,这就是Groovy里XML嵌入式语法的魔法根源。
比如如下的xml
可以用groovy这样访问
println node.book.writer.text() node类当然没有book,writer这样属于领域语言的属性,但通过重载getPropety(String name)函数,node类可以把对book,writer属性的访问,转换成相应DOM节点的访问。
实现请参看org.codehaus.groovy.sandbox.util.XMLList类的public Object getProperty(final String elementName)函数。
Guillaume Laforge说,It@#s an aspect of Groovy which makes the language very powerful, but rare are those who really know and use it.
下一篇:在java应用程序中显示数据库的blob图像 >>
相关文章:
- · Java内存泄露问题分析
- · Java Reflection (JAVA反射)
- · 讲解关于编写跨平台Java程序时的注意事项
- · JAVA对象序列化保存为XML文件的工具类
- · JAVA代码编写的30条建议
- · 全面挖掘Java Excel API 使用方法
- · Java中调用外部命令
- · 详解Java中的指针、引用及对象的clone
- · Java Socket编程中的一个秘密类
- · java编写TCP方式的通信程序
- · java 调用ActiveDirectory,使用标准的LDAP协议
- · JAVA/JSP学习系列之一(JDK安装)-
- · Java WS和C#调用
- · Java中利用JMF编写摄像头拍照程序
- · 好的JAVA风格(英译)
- · Java加密和licence控制的设计
- · 获得汉字拼音首字母的java工具类
- · 用java编写简单UDP网络通信程序
- · Java中可复用事件处理的设计与实现代码
- · dbUnit对mssqlserver自增长主键的处理
- · Java Thread Programming 1.8.4 - Inter-thread Communication
- · Java Thread Programming 1.8.3 - Inter-thread Communication
- · Java Thread Programming 1.8.2 - Inter-thread Communication
- · Java Thread Programming 1.8.1 - Inter-thread Communication
- · Java Thread Programming 1.7 - Concurrent Access to Objects and Variables
- · 让Java程序自带JRE
- · 小议学习java的浮躁心态-分析篇
- · 小议学习java的浮躁心态-引出篇
- · java中访问数据库操作
- · Java中for循环中执行顺序问题及break, continue用法
- · java函数传值的一点心得
- · java中如何实现表格的多表头显示
- · Java学习笔记
- · java写的StringList类
- · java.security.Guard翻译
- · java.security.PublicKey翻译
- · java方法参数传值传引用的一点看法
- · 使用JavaBean创建您的网上日历本
