跳到主要内容

注入配置

下面以属性文件为例:

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;
}