Java配置文件学习

配置文件及读取方法

    • 前言
    • properties 文件
      • 文件内容
      • 文件解析
    • xml 文件
      • 文件内容
      • 文件解析
    • json文件
      • 文件内容
      • 文件解析
    • yaml 文件
      • 文件内容
      • 文件解析:
  • 总结


前言

  当前被人熟知的数据格式有 properties, xml,json,yaml, 其中properties 经常在 spring 工程中作为配置文件, xml用于爬虫,json用于服务器之间的交互, yaml常用于spring boot工程, 一下将对这4个文件格式做详细的论述 !!!


properties 文件

文件内容

properties 文件是由键值对组成的

#redis的服务器地址
host=127.0.0.1
#redis的服务端口
port=6379
#链接数据库
default.db=0
#客户端超时时间单位是毫秒
timeout=60000
#最大连接数
maxActive=300
#最大空闲数
maxIdle=100
#最小空闲数
minIdle=1
#最大建立连接等待时间
maxWait=1000
#指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
testOnBorrow=true
#当调用return Object方法时,进行有效性检查
testOnReturn=true

文件解析

  1. 使用 java.util.Properties 类进行解析
import java.util.Properties;

try{
	// 使用类的反射机制构造文件输入流
	InputStream inputStream = Properties.class.getClassLoader().getResourceAsStream("***.properties")
}catch(IOException e){
	e.printStackTrace();
}

// 解析输入流
Properties properties = new Properties();
properties.load(inputStream);

// 获取所有键值	
Set<String> propertyNames = properties.stringPropertyNames();

//输出键值对
for(String propertyName : propertyNames){
	Object propertyValue = properties.get(propertyName);
	System.out.println("属性名" + propertyName + "属性值:" + propertyValue);
}


//如果想写配置可以构造文件输出流,并使用 Properties:store(outputStream, comment)
//进行存储 

  1. Spring 框架进行解析

<bean class = "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name = "location" value="classpath:db.properties" />
bean>



xml 文件

文件内容

 DOCTYPE html>
<html lang="en">
<head>
     <meta charset="UTF-8">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
                          integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
       <title>Documenttitle>
   head>
 html>

文件解析

当前很少使用 xml 文件做环境配置, 对xml 文件的解析更多的是解析某个网页的内容(爬虫)
可以通过 dom4j 这个jar包进行 xml 文件的解析

json文件

文件内容

{"key1":value1, "key2":value2}

文件解析

同样,几乎没用使用进行json作为配置文件的, json 数据格式的应用场景主要是端到端(服务器与服务器,服务器与前端)的数据交换, 可以使用 fastJson这个包进行解析

yaml 文件

文件内容

1.大小写敏感
2. 使用缩进表示层级关系, 缩进空格数表示层级
3. 注释为 #
4. 数据类型:
(1)键值对

	key_level:
		key1: value1		
		key2: value2

(2)数组:按照次序排列的值

   companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]

(3)纯数:单个不可再分的值

	key_level:
	    # value1, value2 就是纯数
 		key1: oh		
		key2: lalal

文件解析:

Java配置文件学习_第1张图片
Yaml 文件有层级关系, 所以可以将工程需要的所有配置信息写到一个文件中, 然后通过前缀将配置信息装配到指定的配置类中:

如我要装配dataSource的配置信息:

@ConfigurationPropartion(“datasource”)
class DataSource
private String driver;
private String url;
private String username;
private String password

这样 spring boot 框架就知道我要将dataSource中的信息装配到这个配置类中了。


总结

.yaml 文件 + config / 配置类 是非常管理工程配置信息的方法,强烈推荐使用 !!!

你可能感兴趣的:(java,学习,开发语言)