转载

刷脸支付系统开发模式开发

在刷脸支付系统开发中(T:I3O+22O9+5443V庄)经常会有一些需要预先定义好的变量或者常量,比如数据库连接配置、Sql语句等等,如果把它们写死在代码里面,会显得很不灵活,因为Java是一种编译型开发语言,修改代码需要重新编译和部署,于是我们可以使用这种方法——将变量存放到配置文件中。

这样如果我们修改了变量内容,也不需要重新编译,像Spring、Mybatis等大多是Java框架都是利用这种方式来工作的。

下面举一个简单的例子:

首先我们新建一个config.properties的配置文件:

刷脸支付系统开发模式开发

db.driver=com.mysql.jdbc.Driver

db.url=jdbc:mysql://mydb:3306/test?characterEncoding=utf8&useSSL=true&serverTimezone=UTC

db.username=root

db.password=toor

这是一个简单的数据库连接配置文件,然后我们在代码中加载这个文件:

File file = new File("config.properties");

if(!file.exists() && file.isDirectory()){

throw new FileNotFoundException("缺少配置文件config.properties");
    }

Properties prop = new Properties();

FileInputStream in = new FileInputStream(file);

InputStreamReader reader = new InputStreamReader(in, "UTF-8"); //解决文件编码问题

prop.load(reader); //加载配置内容到prop对象中

这样我们就可以通过Properties提供的方法来获取相应的配置了,如:

String url = prop.getProperty("db.url");

加载配置文件还有一种方式:

InputStream in = getClass().getResourceAsStream("config.properties");

prop.load(in);

这是通过classpath来获取配置文件,但是要求配置文件必须放在classpath中,而且需要注意的是,如果你将项目打包成jar包,配置文件也会被一起打包,没办法对文件进行修改了。

使用Properties prop = System.getProperties();还可以获取JVM的一些配置,比如系统换行符等信息,在读取解析本地文件内容时是很有用:System.getProperty("line.separator")

以上只是使用配置文件的一个简单说明,这种方式在开发一些工具程序的时候非常有用。

原文  https://segmentfault.com/a/1190000020470650
正文到此结束
Loading...