Properties文件和(Java)PropertiesUtil类

    properties概述:

      properties文件是一种属性文件,这种文件以key=value格式存储内容。Java中可以使用Properties类来读取这个文件,使用Properties类中的getProperty(key)方法就能得到对应的数据。一般properties文件作为一些参数的存储,使得代码更加灵活。

      在集合的知识中: properties继承了Hashtable,实现了Map接口

     使用properties的作用

       通常情况下,我们的项目完成后上线然后通过域名访问。在这上线过程中项目组长通常是创建var包打包交给运维处理。为了后期便于配置管理软件,常将诸如数据库连接配置(url、用户名和密码)、上传文件保存路径等配置信息写在Properties文件(拓展名为properties)中。不能将用户名、密码等信息写死在一个类中,将其写入properties文件中可以防止无法修改数据库信息。

使用方法

1.在src根目录创建properties类型文件

2.创建PropertiesUtil类对象;

3.调用PropertiesUtil类对象load方法加载properties类型文件;

4.调用Properties类对象getProperty方法获取properties类型文件中key所对应的数据;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 获取db.properties文件的工具类
 *
 * @author Administrator
 */
public class PropertiesUtil {

	private static Properties properties = new Properties();
	static {
		InputStream inputStream = PropertiesUtill.class.getClassLoader().getResourceAsStream("db.properties");
		try {
			properties.load(inputStream);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 依据key获取value值
	 *
	 * @author Administrator
	 */
	public String getValue(String key) {
		return properties.getProperty(key);
	}

	public static void main(String[] args) {
		PropertiesUtil pUtil = new PropertiesUtil();
		String url = pUtil.getValue("url");
		String userName = pUtil.getValue("user_name");
		String password = pUtil.getValue("password");
		System.out.println(url + "," + userName + "," + password);
	}
}

运行结果:jdbc:mysql://127.0.0.1:3306/test,root,root 

明显与上面的properties文件的信息一致,说明成功的行使了作用。

总结 

1.InputStream inputStream = PropertiesUtill.class.getClassLoader().getResourceAsStream("db.properties"); 是从类加载路径(Java Project对应bin路径;Java Web对应WEB-INF目录classes路径)取得文件的输入流

2.将连接数据库的信息写在了Java源文件中,该源文件被编译成class类型的文件,如果后期需要修改连接数据库信息,则需要再次编译Java源文件,这种方式比较麻烦,将数据库信息保存在你properties文件中,再使用(Java)PropertiesUtil类读取该文件,这样就方便了很多。


版权声明:本文为qq_40831381原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。