什么是配置文件?
1. 配置描述
众所周知,Web应用的基础配置信息是不固定的,要根据场景的不同而改变,如果将配置信息直接写入代码,势必会降低应用的扩展性和移植性。因此,Java Web开发通常会采用大量XML文档作为配置文件。不仅如此,各种开发框架(如Spring、Struts等)也通过XML文档管理基础配置
2. 传输数据
各种系统平台采用互不兼容的数据存储格式,而Web应用往往面向不同平台的,这就会给数据传输带来一定困难。假如,一个Linux平台上的应用要向windows上的应用传输数据,将会面临传输障碍或者无法解析的问题。这时,可以采用XML方式实现跨平台的数据传输
3.持久化数据
XML文档可以作为小型数据库,持久化一些特殊的数据。例如,程序中经常用到的一些系统数据,如果放在数据库中会增加维护数据库的工作量,此时可以考虑采用XML文档来做小型数据库
4. 配置文件的后缀
配置文件的后缀一般是 ini 、properties、xml。其实他们与java的HashMap结构是一样的,都是一个存放key-value对的容器,只是配置文件那些是属性与属性值的key-value对罢了
配置文件.xml,*.xml有着一个新时代的产物的观点,那是因为ini,properties是不支持中文的,而xml是支持中文的。
以下是c3p0的默认配置文件 这个是一个xml文件
<c3p0-config>
<!--使用默认的配置读取数据库连接池对象 -->
<default-config>
<!-- 连接参数 -->
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/ScienceDB</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 连接池参数 -->
<!--初始化申请的连接数量-->
<property name="initialPoolSize">5</property>
<!--最大的连接数量-->
<property name="maxPoolSize">10</property>
<!--超时时间-->
<property name="checkoutTimeout">3000</property>
</default-config>
</c3p0-config>
properties配置文件
他和xml文件,json格式一样都是属性文件,内部以key=value格式存储内容,一般以这种文件设置一些参数,使代码更加灵活,使用这种文件在不同环境中只需要更改配置文件即可。
driverClassName = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/java001?useServerPrepStmts=true
username = root
password = root
initialSize = 10
maxActive = 30
maxWait = 1000
怎么读取配置文件?
public void test1() throws IOException {
InputStream inputStream = this.getClass().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(inputStream);
properties.list(System.out);
System.out.println("==============================================");
String property = properties.getProperty("jdbc.url");
System.out.println("property = " + property);
}
配置文件不能随便改,因为这些key-valueyi对一般是记录着程序运行的参数,而且很多是初始化的参数,一般这些参数都是自程序的开始运行,也就是程序的出生到程序被关闭,也就是程序死亡都需要使用的定值。就比如你出身的地方,性别一样,你一生都是一样的吧!
总结到这里,友友们有遗漏可以评论区补充!