JAVA中的内省使用

http://www.cnblogs.com/H_Razor/archive/2011/02/28/1967178.html

 

以下两段参考:

http://blog.sina.com.cn/s/blog_5d06a3c70100b521.html

关于内省的思考

    struts2的action(还有struts1的formbean)就是这么实现的。

    前台的form标签具有一些属性(在配置文件中知道这个form提交到那个action,而这个action有和这个form相对应的属性及其get/set),提交以后,由struts的servlet拦下来转发给某个具体的action.而在转发给action之前struts通过内省的方式将form中的值set到了action中去。

    其实只要有个set**或者get**,内省就会理解为存在这样的**属性,这样可以方便我们把 Bean 类通过一个接口来定义而不用去关心具体实现,不用去关心 Bean 中数据的存储。比如我们可以把所有的 getter/setter 方法放到接口里定义,但是真正数据的存取则是在具体类中去实现,这样可提高系统的扩展性。

总结
    将 Java 的反射以及内省应用到程序设计中去可以大大的提供程序的智能化和可扩展性。有很多项目都是采取这两种技术来实现其核心功能,例如我们前面提到的 Struts ,还有用于处理 XML 文件的 Digester 项目,其实应该说几乎所有的项目都或多或少的采用这两种技术。在实际应用过程中二者要相互结合方能发挥真正的智能化以及高度可扩展性。

 

你可能感兴趣的:(JAVA中的内省使用)