发表于: 2017-09-06 23:35:25

1 896


今天完成的事情:今天先把昨天的项目又重新写了一遍,发现还是实现不了,明天换个简单点的实例再试试.今天看了一些关于spring的学习资料.了解了配置文件的定义及调用方法.学习了什么的spring,spring有什么好处.

学习笔记:

Java配置文件学习

1. 配置文件

xml: 可扩展标记语言(Extensible Markup Language )标准通用标记语言的子集)是一种简单的数据存储语言,它与Access,OracleSQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。HTML一样,它是描述网络上的数据内容和结构的标准。尽管如此,XML不象HTMLHTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) XML则对数据赋予上下文相关功能,它继承了标准通用标记语言的大部分功能.

·             可以在可扩展标记语言文件的内容包括几乎所有的万国码Unicode字符,元素和属性的名称也可以由非ascii字符组成;

·             标签由包围在一个小于号(<)和一个大于号(>)之间的文本组成,例如<标记>

·             起始标签(外国语:starttag)表示一个特定区域的开始,例如<起始>

·             结束标签(外国语:end tag)定义了一个区域的结束,除了在小于号之后紧跟着一个斜线(/)外,和起始标签基本一样,例如</结束>

*.ini*.properties*.xml都是配置文件,他们与javaHashMap结构是一样的,都是一个存放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一次只存一个文件)
程序运行之后,在控制台会输出如下东西:

http://img.blog.csdn.net/20150307230031962

C盘会得到三个配置文件a.ini,au.propertiesa.xml

a.inia.properties的内容除注释之外,其余部分都是一样的,以下是a.ini的内容,

http://img.blog.csdn.net/20150307230214984

可以看到,这个a.ini这种旧式的配置文件根本就不支持中文,JavaProperties类的store方法只能把中文帮你转码保存,注意与运行结果比对,load方法并不读取注释,使用load把这些属性读回来程序之后无需转码就显示正常。因此struts国际化的时候可以利用Properties类去转码与输出,根本就不用用到什么工具,Java本来就有相应的方法。作为程序的配置文件一般是保存重要的信息的,并不需要给用户看的,因此,属性值一般只是一些数字之类的。

a.xml的内容则非常丰富,具体如下:

[html] view plain copy

print?

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>  
  2. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
  3. <properties>  
  4. <comment>注释</comment>  
  5. <entry key="password">123</entry>  
  6. <entry key="chinese">中文</entry>  
  7. <entry key="username">aaa</entry>  
  8. </properties>  

Properties对象的loadFromXML方法的读取仅仅是读取其中的key-value的程序对,对比运行结果,

http://img.blog.csdn.net/20150307230031962

你可以看到,都是以属性与属性值的key-value对来读取的。

通过上面对配置文件概念的解释与Java对配置文件的操作,估计大家已经基本掌握*.ini*.properties*.xml这些配置文件到底是啥,也可以看到这些配置文件的基本结构了。

明天计划完成的事情:今天学习了spring理论,明天开始写实例

遇到的问题:还是对spring理解不透,对这些mybatis,spring这些框架依赖整合进IDEA到底是怎么具体起到简化编程,减少代码的作用的.

收获:了解配置文件,知道它是个什么东西,怎么调用.为方便了解框架通过配置文件简化代码打个基础吧.





返回列表 返回列表
评论

    分享到