小白一个, 记录工作中的点滴 .
读取配置文件基本上就是将开发中常用的一些常量放到配置文件中 ,这样方便后期修改配置文件 ,不用来回的动代码.
Spring3.x以后通过@Value("${key值}"),获取配置文件中key对用的value,非常方便
比如:配置文件中 name=wangxiaoming;
代码中就要这样:
@value("${name}")
public String name;
@value("${user.dir}") // 可以获取系统变量, 具体值变量百度都能找到
public String path;
注意 ,不要使用 static , final ,去修饰,否则会得到null值.
配置文件的路径使用@Value也可以配置 , 具体还请自行百度,
我个人比较倾向于使用properties;
上代码:
import java.io.InputStream;
import java.util.Properties;
import org.apache.log4j.Logger;
/**
* 系统常量
*
* @author IT
*/
public class SysConstants {
public static final Logger logger = Logger.getLogger(SysConstants.class);
public static String HOST = null;
public static String PORT = null;
/** * 初始化 */
static {
Properties prop = new Properties();
try {
// 获取数据流
InputStream inputStream = SysConstants.class.getClassLoader().getResourceAsStream("config.properties");
prop.load(inputStream);
} catch (Exception e) {
e.printStackTrace();
logger.debug(e.toString() + "读取配置文件出错!");
}
HOST = prop.getProperty("sysConstant.host");
PORT = prop.getProperty("sysConstant.port");
}
}
很简单 ,很明了,我就不多加解释了.使用过程中直接使用
SysConstants.HOST 和SysConstants.PORT 的方式就能直接调取到.配置文件中的数值
-------------------------------------------------------------------------------------------------------------------
我喜欢properties的原因其实就是因为他可以在main方法下调试 ,spring 的注解我还得启动下项目springboot项目/流泪
不过这种方式多了配置文件了, 所以各取所需吧.
现在springboot有@Properties 注解了, 现在也很方便了.