XML
一、XML简介
- 说明: 可扩展标记语言
- 可扩展: 标签可以自定义
- 因为XML由我们自己解析,可根据需求自定义标签
- 作用:
-
- 用于进行存储数据和传输数据
-
- 作为软件的配置文件
-
- 语法:
-
- 第一行必须是文档声明
-
- 跟标签只能有一个
- <?xml version='1.0' encoding='utf-8'?>
-
- 【严格区分大小写】
-
- < > 特殊符号 必须使用 < >表示
-
- 如果文字较多,可以是CDATA区。
- <![CDATA[sdafgsdfgseasafdf]]>
-
二、XML解析
- 将xml中的数据,加载到程序中来,常用的由DOM/SAX解析 ( 通过反射解析 )
- DOM解析: 文档解析,将整个XML文件加载到内存,多用于【后台】
- 优点: 方便操作
- 缺点: 如果xml文档过大,有可能内存溢出
- SAX:解析: xml文档中数据,逐行解析,所以不管文档多大,都能解析出来,多用于【终端】
- 优点: 不管文档多大,都能解析出来。不占用内存
- **缺点:**不方便操作
- DOM解析: 文档解析,将整个XML文件加载到内存,多用于【后台】
三、注解
1. 注解
-
说明: 给计算机看的,是类的一部分,但不是必须部分
- 注解如果不解析,毫无作用
-
JDK提供的注解
- @FunctionalInterface: 标注该接口是一个函数式接口
- @SuppressWarnings: 压制类中的警告
- @Deprecated: 标注该方法已过时,表示有更好的替代方法,该方法仍可以使用
- @Override: 标注该方法是否正确重写父类方法
2.元注解
- 说明: 用来解释注解的注解
- @Retention:说明该注解可以保留到哪个阶段
- RetentionPolicy.RUNTIME 运行阶段
- RetentionPolicy.SOURCE 源码阶段
- RetentionPolicy.CLASS 编译阶段
- @Target: 说明该注解可以标注在哪些成员上。
- ElementType.CONSTRUCTOR 构造方法
- @Retention:说明该注解可以保留到哪个阶段
1. 注解中的成员,叫属性。
2. 其实属性就是抽象方法。
3. 为什么叫属性,因为使用的时候,赋值的方式,和属性一样。
4. 定义属性的要求:必须要有返回值类型
5. 返回值类型必须是:基本数据类型、Class、String、枚举、注解,或者是以上类型的一维数组。
6. 如果属性中有一个属性名称叫value,使用的时候,如果只需要给value赋值,则value属性名可以省略。
7. 如果多个属性包括value需要赋值,则value不能省略。
8. 如果返回值是数组,且只给数组赋以个值,大括号可以省略,如果赋值多个,则不可省略。