SpringIoc以及set注入八种基本类型的简单实现主要涉及到的技术以及API反射、xml定义和解析、树模型反射可以在代码运行状态下动态的创建对象以及调用方法。API:Dom4j、Class、Field、Method。请仔细阅读接下来的API详解,为代码的阅读进行铺垫。Dom4jorg.dom4j.io.SAXreader - Xml读取工具。 - Document read(InputStream is) 读取输入流,并返回文档对象。org.dom4j.Document - 文档对象 - Element getRootElement() 通过文档对象,获取xml文档的根节点。org.dom4j.Element - 元素/节点对象,一个Element对象就表示一个xml文档的节点。 - String getName() 获取当前节点的名称。 - List<Element> elements() 获取当前节点的所有子节点。 - String attributeValue("属性名称") 获取当前节点的属性值Classjava.lang.Class - 类对象,该类的实例由Java虚拟机和类加载器自动构造。 - static Class forName(String className) 根据参数自定的类名创建类对象。 - T newInstance() 创建该class对象所表示类型的实例。 - Field getDeclaredField(String name) 根据参数指定的name获取类型的字段/成员变量。 - Method[] getMethods() 用于获取Class对象所表示类中的所有公共方法。Fieldjava.lang.reflect.Field - 单个 字段/成员变量 对象 - void setAccessible(boolean falg)java是门安全的语言,字段默认不可暴力访问,想要通过这种方式访问某个字段,需要打开访问权限。 - Type getGenericType() 获取字段类型。Methodjava.lang.reflect.Method - 用于描述获取到的单个 成员方法 信息。 - String getName() 获取当前方法名称 如setName。 - Object invoke(Object obj, Object... args) 使用参数对象 obj 去调用该 Method 对象所表示的成员方法,实参传递 args。 - 若该 Method 对象表示Person类中setName()方法,则调用该方法就是 obj.setName()。铺垫完毕 上代码首先是Person类第二部分 xml文档第三部分 XmlUtil类执行结果泡吧一年多,增加了自己阅读,也学到很多。第一次写随笔,如有不足请指出。
12-22 18:19
查看更多