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中使用,使用%标识,通过%参数实体名;来引用。

  • 相关阅读:
    LeetCode 81 Search in Rotated Sorted Array II(循环有序数组中的查找问题)
    LeetCode 80 Remove Duplicates from Sorted Array II(移除数组中出现两次以上的元素)
    LeetCode 79 Word Search(单词查找)
    LeetCode 78 Subsets (所有子集)
    LeetCode 77 Combinations(排列组合)
    LeetCode 50 Pow(x, n) (实现幂运算)
    LeetCode 49 Group Anagrams(字符串分组)
    LeetCode 48 Rotate Image(2D图像旋转问题)
    LeetCode 47 Permutations II(全排列)
    LeetCode 46 Permutations(全排列问题)
  • 原文地址:https://www.cnblogs.com/FlySheep/p/3603055.html
Copyright © 2011-2022 走看看