注入配置
下面以属性文件为例:
jdbcSettings.jdbcDriver = com.mysql.jdbc.Driver
jdbcSettings.jdbcURL = jdbc:mysql://127.0.0.1:3306/test
jdbcSettings.userName = sa
jdbcSettings.userPassword =
也可以通过 Xml 文件来表示相同的配置内容:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://www.hasor.net/sechma/main">
<jdbcSettings>
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
<jdbcURL>jdbc:mysql://127.0.0.1:3306/test</jdbcURL>
<userName>sa</userName>
<userPassword></userPassword>
</jdbcSettings>
</config>
在 Bean 中通过 net.hasor.core.InjectSettings
注解来表示注入的内容来自于配置文件
例如
public class DataBaseBean {
@InjectSettings("jdbcSettings.jdbcDriver")
private String jdbcDriver;
@InjectSettings("jdbcSettings.jdbcURL")
private String jdbcURL;
@InjectSettings("jdbcSettings.user")
private String user;
@InjectSettings("jdbcSettings.password")
private String password;
...
}
最后在创建容器的时候指定要加载的配置文件即可。
AppContext appContext = Hasor.create().mainSettingWith("<config-file-name>").build();
类型自动转换
@InjectSettings
可以帮助做一些简单的类型转换,类型转换工具为 net.hasor.utils.convert.ConverterUtils
。其来源为: Apache Commons
public class TestBean {
@InjectSettings("userInfo.myAge")
private int myAge;
}