从properties中读取配置创建对象
主要做两个事,从properties配置文件中读取信息,通过反射创建对象
思路主要有两种,遍历得到的属性集合,然后设置类的属性
遍历类的属性集合,从配置文件中读取(不推荐,因为类的属性有多样化,会报错)
try {
Properties prop = new Properties();
prop.load(new FileInputStream(
"F:\\user.properties"));
Class class1 = Class.forName("com.zlkj.config.User1");
Object newInstance = class1.newInstance();
//这样就可以拿到本类中公有和私有方法
Field[] fields = class1.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
field.set(newInstance, prop.getProperty(field.getName()));
}
System.out.println(newInstance.toString());
} catch (Exception e) {
e.printStackTrace();
}
以上方法要注意几点:
- 注入的类的属性要是String类,如果是其他类,要调用相应的方法,不然会报错;
- 有时候可能要拿父类的属性,调用 getSuperClass().getDeclaredFields()
本文由博客一文多发平台 OpenWrite 发布!
从properties中读取配置创建对象的更多相关文章
- CAT客户端如何从Apollo中读取配置?
运行环境 以下就是这个示例的运行环境,如果版本号不一样,区别也应该不会很大,可以根据实际情况做相应调整. JDK 8 spring boot 2.0.7.RELEASE cat-client 3.0. ...
- springboot读取application.properties中自定义配置
假设在application-xxx.properties中配置 user.name=yuhk 一.在Controller中读取 @Value("{$user.name}") pr ...
- JavaWEB中读取配置信息
第一种方法是使用java.io和java.util包,缺点是路径的概念要清晰, 例子: Properties prop = new Properties(); InputStream in = get ...
- 如何快速获取properties中的配置属性值
本文为博主原创,未经博主允许,不得转载: 在项目中,经常需要将一些配置的常量信息放到properties文件中,这样在项目的配置变动的时候,只需要修改配置文件中 对应的配置常量即可. 在项目应用中,如 ...
- IntellJ IDEA2017 springboot2.0.2中读取配置
IDEA 路径 src\main\resources\application.properties 配置文件名称为 application.properties 默认的位置在classpath根目录下 ...
- .netcore webapi 在startup中读取配置字符串
参考微软官方说明:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration 具体为: 读取方法见下图中标红的格式, ...
- Spring Boot—07应用application.properties中的配置
方法1 @Value("${test.msg}") private String msg; 方法2 @Autowired private Environment env; Stri ...
- properties文件读取配置信息
public static void main(String[] args){ String printerName=""; String path = "C:\\Bar ...
- 从SuperSocket的App.config中读取配置,并修改保存,再重启服务
string XmlPath = System.Windows.Forms.Application.ExecutablePath + ".config"; XmlDocument ...
随机推荐
- springboot+apache前后端分离部署https
目录 1. 引言 2. 了解https.证书.openssl及keytool 2.1 https 2.1.1 什么是https 2.1.2 https解决什么问题 2.2 证书 2.2.1 证书内容 ...
- gulp+webpack+angular1的一点小经验(第一部分gulp与webpack的整合)
时间匆匆如流水继上周熟悉了gulp的初步安装与环境配置以后,我的项目又进入了新的阶段! 这篇文章将把我这一周遇到的一些问题,以及解决的方式做一个小小的总结,不一定记的完整,但都是个人的一点经验,分享给 ...
- Too many open files的四种解决办法【华为云技术分享】
[摘要] Too many open files有四种可能:一 单个进程打开文件句柄数过多,二 操作系统打开的文件句柄数过多,三 systemd对该进程进行了限制,四 inotify达到上限. 领导见 ...
- mac mysql start ERROR! The server quit without updating PID file
在mac下安装完mysql,启动时出现error: ERROR! The server quit without updating PID file (/usr/local/var/mysql/nal ...
- tableview封装使用
下载地址 使用方法 1. #import "ZFTableView.h" 2.在需要使用的地方添加ZFTableView 如下 ZFTableView *ta ...
- BZOJ 1861书架
小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些书太有吸引 ...
- [知也无涯]GAN对人脸算法的影响
红绣被,两两间鸳鸯.不是鸟中偏爱尔,为缘交颈睡南塘.全胜薄情郎. 看到一篇GAN对人脸图像算法的影响,决心学习一个. 人脸检测 这也是我最关注的模块.文章推荐了极小面部区域人脸识别Finding ti ...
- 核心系统命令实战 第一章Linux命令行简介
第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout 快捷键:Ctrl+d 1.1.2 Li ...
- .net core 如何正确的读取body中的内容
private string BodyToJson() { var reader = new StreamReader(Request.Body); var contentFromBody = rea ...
- VS Code 成主宰、Vue 备受热捧!2019 前端开发趋势必读
前端在生产和开发中占据着越来越重要的地位,PC 端.手机端.桌面端.智能手表端等等设备都离不开前端的身影.本文将围绕框架.编程语言.工具.React.Vue 等方面,全面回顾 2019 年前端与 We ...