发表于: 2017-09-06 23:35:25
1 896
今天完成的事情:今天先把昨天的项目又重新写了一遍,发现还是实现不了,明天换个简单点的实例再试试.今天看了一些关于spring的学习资料.了解了配置文件的定义及调用方法.学习了什么的spring,spring有什么好处.
学习笔记:
Java配置文件学习
1. 配置文件
xml: 可扩展标记语言(Extensible Markup Language )(标准通用标记语言的子集)是一种简单的数据存储语言,它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。同HTML一样,它是描述网络上的数据内容和结构的标准。尽管如此,XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML则对数据赋予上下文相关功能,它继承了标准通用标记语言的大部分功能.
· 可以在可扩展标记语言文件的内容包括几乎所有的万国码Unicode字符,元素和属性的名称也可以由非ascii字符组成;
· 标签由包围在一个小于号(<)和一个大于号(>)之间的文本组成,例如<标记>;
· 起始标签(外国语:starttag)表示一个特定区域的开始,例如<起始>;
· 结束标签(外国语:end tag)定义了一个区域的结束,除了在小于号之后紧跟着一个斜线(/)外,和起始标签基本一样,例如</结束>;
*.ini、*.properties、*.xml都是配置文件,他们与java的HashMap结构是一样的,都是一个存放key-value对的容器,只是配置文件那些是属性与属性值的key-value对罢了.这些key-value一般是记录着程序运行的参数,而且很多是初始化的参数,一般这些参数都是自程序的开始运行,也就是程序的出生到程序被关闭,也就是程序死亡都需要使用的定值。正如我们每一个人的名字、性别、出生地这些属性一样,从我们出生到死亡都要不停地用。
配置文件主要有三种后缀名,在Windows系统中是*.ini,*.ini在很多win32程序大家都见过了,这东西还被贴上“系统文件”的标签,它只不过是配置文件似的。配置文件在Linux系统或者在一些Java工程中的是则是*.properties。
其实*.ini与*.properties是完全一样的东西,正如*.dll与*.jar的对应关系一样,都是win32程序或者java程序必要的运行库。很多java程序的编写必须放进一些*.jar包使得开发更加便捷,然后你的java工程运行必须带着这些*.jar包才能运行。大家也可以观察到大部分win32程序在目录下都存在*.dll,那是因为这些win32在编写时候就用到这些*.dll包啊!相当与java的插件。
此外还有一种新型的配置文件.xml,这东西相信大家也不陌生,在Jsp工程的总配置文件web.xml你弄不好,就别想启动工程。为什么说*.xml是新型的配置文件,还有一些*.xml是新时代的产物的观点呢?那是因为*.ini,*.properties是不支持中文的,而*.xml是支持中文的。
在Java中操作配置文件非常简单,配置文件类Properties同样在java.util.*包里面,同时涉及文件的读写操作,所以同样需要java.io.*, impo
(c盘有三个文件,但是properties一次只存一个文件)
程序运行之后,在控制台会输出如下东西:
在C盘会得到三个配置文件a.ini,au.properties与a.xml,
a.ini与a.properties的内容除注释之外,其余部分都是一样的,以下是a.ini的内容,
可以看到,这个a.ini这种旧式的配置文件根本就不支持中文,Java中Properties类的store方法只能把中文帮你转码保存,注意与运行结果比对,load方法并不读取注释,使用load把这些属性读回来程序之后无需转码就显示正常。因此struts国际化的时候可以利用Properties类去转码与输出,根本就不用用到什么工具,Java本来就有相应的方法。作为程序的配置文件一般是保存重要的信息的,并不需要给用户看的,因此,属性值一般只是一些数字之类的。
而a.xml的内容则非常丰富,具体如下:
[html] view plain copy
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
- <properties>
- <comment>注释</comment>
- <entry key="password">123</entry>
- <entry key="chinese">中文</entry>
- <entry key="username">aaa</entry>
- </properties>
但Properties对象的loadFromXML方法的读取仅仅是读取其中的key-value的程序对,对比运行结果,
你可以看到,都是以属性与属性值的key-value对来读取的。
通过上面对配置文件概念的解释与Java对配置文件的操作,估计大家已经基本掌握*.ini、*.properties、*.xml这些配置文件到底是啥,也可以看到这些配置文件的基本结构了。
明天计划完成的事情:今天学习了spring理论,明天开始写实例
遇到的问题:还是对spring理解不透,对这些mybatis,spring这些框架依赖整合进IDEA到底是怎么具体起到简化编程,减少代码的作用的.
收获:了解配置文件,知道它是个什么东西,怎么调用.为方便了解框架通过配置文件简化代码打个基础吧.
评论