配置文件
tip
在 Hasor 中 可以不定义任何配置文件,直接使用 Hasor 相关功能。仅仅在当需要修改某些配置的时候在使用配置文件,Hasor 对于配置文件的态度是拥抱约定优于配置,但是不鼓吹零配置。
Hasor 支持三种格式的配置文件,目前必须要求使用 UTF-8
编码格式。
- Properties (建议文件名 xx-hconfig.properties)
- YAML(建议文件名 xx-hconfig.yaml)
- XML(建议文件名 xx-hconfig.xml)
事实上任何一个满足 Xml 约定的文件都可以被用来充当 Hasor 的配置文件,因此 Hasor 的Xml 配置文件没有提供对应的 Xml Schema。
但作为 Hasor 的 xml 配置文件我们建议您最少内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://www.hasor.net/sechma/main">
...
</config>
多格式兼容
Hasor 同时支持三种不同的配置文件格式,虽然不同格式的配置文件具有一些差异性,但在通用场景下可以表述相同的一段配置内容。例如:
属性文件格式
mySelf.myName = 赵永春
mySelf.myAge = 12
mySelf.myBirthday = 1986-01-01 00:00:00
mySelf.myWork = Software Engineer
mySelf.myProjectURL = https://www.hasor.net/
mySelf.source = Prop
XML 格式
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="https://www.hasor.net/sechma/main">
<mySelf>
<myName>赵永春</myName>
<myAge>12</myAge>
<myBirthday>1986-01-01 00:00:00</myBirthday>
<myWork>Software Engineer</myWork>
<myProjectURL>http://www.hasor.net/</myProjectURL>
<source>Xml</source>
</mySelf>
</config>
YAML 格式
mySelf:
myName: '赵永春'
myAge: 12
myBirthday: '1986-01-01 00:00:00'
myWork: 'Software Engineer'
myProjectURL: 'https://www.hasor.net/'
source: 'Yaml'
关于差异性
- 具体差异性,会在后面专属章节来介绍。无论配置文件格式选择是哪一个,对于配置的读取方式始终相同。
加载配置文件
加载配置文件只需要在应用启动的时候通过 mainSettingWith
方法指定一下配置文件即可。
AppContext appContext = Hasor.create().mainSettingWith("simple-hconfig.xml").build();
Settings settings = appContext.getInstance(Settings.class);
String myName = settings.getString("mySelf.myName");
// myName 值为 ‘赵永春’
将配置文件的名字改为 “hconfig.xml” 并且放到 classpath 下面,这样就可以省去调用 mainSettingWith
方法。Hasor 会默认尝试加载它。