zoukankan      html  css  js  c++  java
  • Java Web总结二JavaBean、内省API、BeanUtils、泛型、XML

    一、什么是JavaBean?有何特征?

      1、符合特定规则的类就叫JavaBean。

      2、JavaBean分两类:

        1)狭义的JavaBean包括以下内容:

          a、私有的字段(Field)。

          b、对私有字段提供存取方法(get和set方法)。

        2)广义的JavaBean包括以下内容:

          a、私有的字段(Field)。

          b、对私有字段提供存取方法(get和set方法)。

          c、数量任意的业务方法。

    二、内省API(由SUN公司开发的)

      1、内省技术访问JavaBean的两种方式:

        (1)通过PropertyDescriptor类操作JavaBean的属性。

        (2)通过Introspector类获得BeanInfo对象,通过BeanInfo对象获得属性描述器(PropertyDescriptor),通过属性描述器的getReadMethod()和getWriteMethod()方法来获得某个属性的getter和setter方法,然后通过反射来调用这些方法。

      2、属性和getXxxxx()有关,同时必须有返回值。

      3、任何一个JavaBean都有一个class属性,来自于Object类。 

    三、BeanUtils框架/工具(由APACHE开源组织开发)

      1、BeanUtils框架能够完成内省的一切功能,而且做了优化。

      2、使用BeanUtils框架必须在项目中导入commons-beanutils-1.9.1.jar和commons-logging-1.1.3.jar两个包。

      3、BeanUtils框架能够对String到八种基本数据类型的自动转化。

      4、对于不能自动转换的数据类型,BeanUtils提供了自定义转换器:ConvertUtils.register( 转换规则 ,目标对象的Class)。

      5、向BeanUtils框架注册自定义转换器必须放在bu.setProperty()代码之前。

      6、BeanUtils里面内置了一些装换器,如:内置了String→Date的装换器:ConvertUtils.register(new DateLocaleConverter(),java.util.Date.class);

    四、泛型

      1、注意JDK中的两个类:Collections和Arrays。

      2、定义泛型的方法,在方法的返回值前面加上<T>。如:public static <T> void study(T t);

      3、定义泛型类。public class BaseDao<T>{}

      4、注意:静态方法不能使用类定义的泛型,而应单独定义泛型。因为泛型类是在实例化时确定具体的类型,而静态方法无需进行类实例化。

      5、泛型通配符。如Class<?>。

    五、XML

      1、什么是XML?

        Extensible Markup Language。可扩展标记语言。

      2、XML的应用:1)保存有关系的数据。2)用作软件配置文件,以描述程序模块之间的关系。

      3、XML语法:

        1)文档声明

          在编写XML文档时,需要先使用文档声明,声明XML文档的类型。语法:      

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>

        2)元素

          a、通常元素都有开始和结束标签,但也可以使用空标签,即<a></a>=<a/>。

          b、XML中标签嵌入顺序必须一致,且字符大小写不一致。

          c、程序会将标签内的空白字符当作有效字符对待。

        3)属性

          a、属性由属性名和属性值组成,属性值由定界符""或'组合。

          b、当一个事务必须与对象绑定在一起,没有该对象,该事务就没有意义,此时该事务就应成为对象的属性。

        4)注释

          a、注释格式:<!--注释-->

          b、不能嵌套使用。

        5)CDATA区 、特殊字符

          a、Character Data(字符数据区/段)。语法:<![CDATA[内容]]>

          b、CDATA段中的数据不会被XML解析器所解析。

          c、不能嵌套使用。

          d、XML内置5种转义字符:< > & " '

          e、其它字符:&#x2605;

        6)处理指令

          a、processing instruction简称PI。处理指令用来指挥XML解析引擎如何解析XML文档内容。

          b、处理指令必须以“<?”作为开头,以“?>”作为结尾。

          c、可以使用CSS装饰XML文件中的内容。格式:<?xml-stylesheet type="text/css" href=“a.css"?>

          d、CSS目前版本只能支持英文标签

      4、xml约束

        1)DTD是XML文件的约束。

        2)浏览器对XML和DTD进行语法的检测,但是浏览器不会检测XML是否符合DTD规则。

        3)正确的XML和有效的XML文件:正确的XML文件是指语法正确,而有效的XML文件是指语法和规则都正确。

        4)XML中书写DTD有二种方式:a、DTD和XML分离。b、XML中嵌入DTD。

        5)XML引用DTD有二种方式:a、SYSTEM:个人或组织,小范围内使用。b、PUBLIC:大范围内使用,例如:struts框架。。。

        6)EMPTY和ANY,项目中尽量使用EMPTY,少用ANY。

        7)在DTD中,必须将所有的标签全部都声明完才行。

        8)在DTD中,定义元素时,可以使用如下符号:

          a)+:有且只能出现1次或N次。

          b)*:有且只能出现0次或N次。

          c)?:有且只能出现0次或1次。

          d)无:有且只能出现1次。

            注意:以上符号用在()里面

        9)DTD属性的设置值情况有四种:

          a)#REQURIED:该属性必须出现。

          b)#IMPLIED:该属性可有可无。

          c)#FIXED "固定值":该属性可有可无,如果有的话,必须是"固定值"。

          d)"默认值":该属性可有可无,如果没有的话,用默认值补充,如果有的话,用新值替代旧值。

        10)当页面出现多个相同的字符串,此时可以使用引用实体来解决,在DTD中定义,在XML中使用。

        11)当定义DTD时,出个相同的子元素,此时可以使用参数实体来解决,在DTD中定义,在DTD中使用,使用%标识,通过%参数实体名;来引用。

  • 相关阅读:
    [windows菜鸟]C#中调用Windows API参考工具
    [windows菜鸟]C#中调用Windows API的技术要点说明
    [windows菜鸟]Windows API函数大全(完整)
    C#卸载加载到进程里的dll
    C# 防火墙操作之开启与关闭
    CMD命令行管道命令
    linux kernel elv_queue_empty野指针访问内核故障定位与解决
    U-Boot Driver Model领域模型设计
    linux I/O stack cache 强制刷新
    基于lcov实现的增量代码UT覆盖率检查
  • 原文地址:https://www.cnblogs.com/FlySheep/p/3603055.html
Copyright © 2011-2022 走看看