标签:
1、配置workspace ----- 建议不要采用含有空格和中文目录,所有代码保存workspace空间中
2、新建工程时,设置工程需要jre环境
MyEclipse提供多种内置layout --- 每种布局 界面不同,菜单不同当jre版本低于编译器版本 : Bad version number in .class file
3、对已经存在工程进行分组 working set,通过分组隐藏不需要使用工程4、快捷键
alt+/ Content Assist模板键 --- 将代码快速补全 ---- windows 首选项 java editor templates* 设置代码 保存时进行格式化 windows首选项 java -editor - save actions
关于代码测试工作 ----- 测试:白盒测试和黑盒测试
白盒测试测试代码结构和逻辑(可见代码测试),黑盒测试测试代码功能和性能(不可见代码测试)junit 是java 的单体测试技术
1、编写junit 在工程引用junit 类库在使用junit进行测试当方法非常多,每个方法输出内容到控制台,人们无法通过人工进行检查
* 自动化结果检查 --- 断言 Assert* 编写单体测试时,不要仅测试正确的数据和结果,测试不正确数据(非法数据)
XML技术:与数据相关技术,在企业中xml技术常用来存储数据和传输数据 ,流行原因 ----- xml与任何编程语言无关
xml 可用于 php、java、.net 任何编程语言什么是标记语言?
<xxx>aaa</xxx> 典型标记语言 HTML ---- 用标记 修饰文本信息XML标记随意定义 --- 可扩展
XML典型存储和传输应用:在xml中 <name>HLG</name> ---- 想确定name标记含义 ,需要对xml 添加约束
任何xml必须具备文档声明 <?xml version="1.0" ?>
XML是一种标记语言 存储和传输数据 --- 保存数据内容
没有指定xml 编码集 --- 默认采用ISO-8859-1 编码 (不支持中文数据)当声明standalone = "yes" 该xml是独立xml 不依赖外面其它文件,standalone = "no" 该xml 依赖外部一些文件
XML 通过元素描述复杂关系模型数据
* 通过xml进行显示数据 ,通过XSLT 修饰xml数据显示 (类似CSS) 例如<xsl:for-each>元素 详情见W3C开发文档
什么是xml约束?在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
3、为什么xml使用约束? 使用了约束的xml文档 --- 元素内容格式更加规范4、XML约束技术 DTD 和 Schema
DTD与xml关联三种方式:
1、内部DTD ----- 语法 <!DOCTYPE 根元素 []>元素(ELEMENT)定义:
* 内容特定符号含义特殊元素内容:文本类型内容 #PCDATA 子元素内容如果为空 EMPTY
属性(ATTLIST)定义:
语法:<!ATTLIST 元素名称 属性列表 >属性类型:
1、CDATA 文本类型属性约束:
1、#REQUIERD 属性必须举例:
<!ATTLIST book实体(ENTITY)定义:
对于xml数据内容重复,可以抽取实体代码示例:
books.dtd:
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT books (book)> <!ELEMENT book (name,price)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)>
books.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE books SYSTEM "books.dtd"> <books> <book> <name>java高效编程</name> <price>100</price> </book> </books>
book2.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- 使用内部DTD约束XML [] 内部编写DTD内容--> <!DOCTYPE books [ <!ELEMENT books (book+)> <!ELEMENT book (name,(number|price),publish)> <!ELEMENT name (#PCDATA)> <!ELEMENT price EMPTY> <!--ID属性 不能以数字开始 --> <!ATTLIST book bid ID #REQUIRED author (金庸|古龙) "金庸" > <!ELEMENT publish (#PCDATA) > <!-- 将公共的重复内容 提取实体--> <!ENTITY itcast "传智播客 JavaEE" > ]> <books> <book bid="b100" author="古龙"> <name>java</name> <price /> <publish>&itcast;</publish> </book> <book bid="b200"> <name>java</name> <price /> <publish>&itcast;</publish> </book> </books>
XML Schema
使用一套预先定义好元素和属性 开发的
----- 预先定义好元素和属性 规定了schema 结构和内容步骤:预先已经定义好元素和属性 ------> 定义schema -------> 定义xml实例
Schema本身也是xml ,不像DTD使用单独语法将schema中定义元素,绑定URI地址(名称空间)上,用来唯一标识元素来自哪个schema 。
* 为什么要有名称空间? 一个xml实例 引用多个Schema ,当两个schema定义同名元素,为了区分同名元素引用自哪个文档。
5、指定schema文件的位置 --- xsi:schemaLocation="名称空间 schema文件位置" --- xsi:schemaLocation="http://www.itcast.cn/books books.xsd"
注解:
elementFormDefault="unqualified"
1、如果schema 将 elementFormDefault="unqualified" ,xml 实例文档 引用名称空间必须使用前缀 ---- 前缀修饰根元素elementFormDefault="qualified"
1、xml 实例文档 所有元素 要么都用前缀,要么都不用前缀名称空间 作用 --- 唯一标识schema当中定义元素
注意:名称空间的名字语法容易让人混淆,尽管以http://开始,但是那个URL并不指向一个包含模式定义的文件。简单元素 直接编写type属性 、复杂元素 <complexType>
代码示例:
books.xsd:
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="abcdefg" elementFormDefault="qualified" > <!-- 每一个元素 对应 element --> <element name="books"> <!-- 包含子元素和属性的元素 复杂元素 --> <complexType> <!-- 强调子元素出现顺序 --> <sequence> <!-- 让book元素出现多次 * --> <element name="book" minOccurs="0" maxOccurs="unbounded"> <complexType> <sequence> <!-- 对于简单元素,编写type属性 --> <element name="name" type="string"></element> <element name="price" type="double"></element> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema>
books.xml:
<?xml version="1.0" encoding="UTF-8"?> <abc:books xmlns:abc="abcdefg" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="abcdefg books.xsd" > <abc:book> <abc:name>Core Java</abc:name> <abc:price>100</abc:price> </abc:book> <abc:book> <abc:name>think in java</abc:name> <abc:price>90</abc:price> </abc:book> </abc:books>
company.xsd:
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/company" elementFormDefault="qualified"> <element name="company"> <complexType> <sequence> <element name="employee"> <complexType> <sequence> <!-- 引用任何一个元素 --> <any></any> <!-- 员工名称 --> <element name="name"> <complexType> <simpleContent> <extension base="string"></extension> </simpleContent> <attribute name="salary" type="double"></attribute> </complexType> </element> </sequence> <!-- 为employee元素添加属性 --> <attribute name="age" type="int"></attribute> </complexType> </element> </sequence> </complexType> </element> </schema>department.xsd:
<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/department" elementFormDefault="qualified"> <!-- 部门名称 --> <element name="name" type="string"></element> </schema>
company.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- 数据文件 引用多个Schema --> <company xmlns = "http://www.example.org/company" xmlns:dept="http://www.example.org/department" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/company company.xsd http://www.example.org/department department.xsd" > <employee age="30"> <!-- 部门名称 --> <dept:name>人力资源部</dept:name> <!-- 员工名称 --> <name salary="3000">王晓晓</name> </employee> </company>
标签:
原文地址:http://blog.csdn.net/zhongkelee/article/details/51720632