java springboot 读取自定义配置文件
java springboot 读取自定义配置文件
application.properties、test.properties
maven中引用 :
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.6</version>
</dependency> <dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
在“src\main\resources”中增加一个test.properties文件,内容如下:
database.url=222
database.username=333
database.password=uuu
在Controller中使用:
package com.sixun.scnxsign; import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.io.File; @RestController
public class TestController { @RequestMapping("/test3")
public String test3() throws Exception{ StringBuilder scLog=new StringBuilder();
// Configurations 类和 springboot 的类有冲突,这里写全包名 org.apache.commons.configuration2.builder.fluent.Configurations
org.apache.commons.configuration2.builder.fluent.Configurations configs = new org.apache.commons.configuration2.builder.fluent.Configurations();
try { String appRootDir = System.getProperty("user.dir");
scLog.append("\r\n");
scLog.append(" appRootDir: " + appRootDir); File fi=new File("test.properties");
scLog.append("\r\n");
scLog.append(" fi.getAbsolutePath: " + fi.getAbsolutePath());
//scLog.append("fi.getParent: " + fi.getParent()); // 加载 INI 配置文件
Configuration ini = configs.properties(new File("test.properties")); // 获取数据库连接 URL
String url = ini.getString("database.url");
System.out.println("Database URL: " + url); scLog.append("\r\n");
scLog.append(" Database URL: " + url);
// 获取数据库用户名和密码
String username = ini.getString("database.username");
String password = ini.getString("database.password");
System.out.println("Database Username: " + username);
System.out.println("Database Password: " + password); scLog.append("\r\n");
scLog.append(" Database Username: " + username); scLog.append("\r\n");
scLog.append(" Database Password: " + password); } catch (ConfigurationException e) {
e.printStackTrace();
} return "Hello Spring Boot 1" +scLog.toString();
}
}
注意:Configurations 类和 springboot 的类有冲突,这里写全包名 org.apache.commons.configuration2.builder.fluent.Configurations
页面输出:
Hello Spring Boot 1 appRootDir: D:\java-proj\读取INI测试\scnxsign fi.getAbsolutePath: D:\java-proj\读取INI测试\scnxsign\test.properties Database URL: 222 Database Username: 333 Database Password: uuu
调试时,直接修改 resources\test.properties 文件。
发布时,把 test.properties 和你的 .jar 文本放同一目录即可,你可以实时修改 test.properties 里的内容 。

end
java springboot 读取自定义配置文件的更多相关文章
- Springboot读取自定义配置文件的几种方法
一.读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. ...
- SpringBoot读取自定义配置文件
自定义配置文件 my-config.properties bfxy.title=bfxy bfxy.name=hello spring boot! bfxy.attr=12345 配置文件类 appc ...
- springboot读取自定义配置文件节点
今天和大家分享的是自定义配置信息的读取:近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需 ...
- Springboot 之 自定义配置文件及读取配置文件
本文章来自[知识林] 读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两 ...
- Springboot 之 自定义配置文件及读取配置文件注意:配置文件中的字符串不要有下划线 .配置中 key不能带下划线,value可以(下划线的坑,坑了我两天..特此纪念)
注意:配置文件中的字符串不要有下划线 .配置中 key不能带下划线,value可以 错误的.不能读取的例子: mySet .ABAP_AS_POOLED = ABAP_AS_WITH_P ...
- jar包读取jar包内部和外部的配置文件,springboot读取外部配置文件的方法
jar包读取jar包内部和外部的配置文件,springboot读取外部配置文件的方法 用系统属性System.getProperty("user.dir")获得执行命令的目录(网上 ...
- SpringBoot读取外部配置文件的方法
SpringBoot读取外部配置文件的方法 Spring高级之注解@PropertySource详解(超详细) 1.@PropertySource(value = {"classpath:c ...
- springboot读取自定义properties配置文件方法
1. 添加pom.xml依赖 <!-- springboot configuration依赖 --> <dependency> <groupId>org.sprin ...
- springboot下自定义配置文件,并在项目里读取的方法
首先 pom文件引入springboot文件处理器 <dependency> <groupId>org.springframework.boot</groupId> ...
- springboot读取外部配置文件
springboot项目打成jar包后不好进行配置文件修改,可设置为读取外部配置文件,方便进行配置修改. 步骤: 1.将jar包中的application.properties配置文件复制到自定义路径 ...
随机推荐
- 剑指offer21(Java)-调整数组顺序使奇数位于偶数前面(简单)
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分. 示例: 输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[ ...
- 力扣372(java)-超级次方(中等)
题目: 你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出. 示例 1: 输入:a = 2, b = [3]输出:8示例 2: 输入:a = 2, ...
- 提质增效,安全灵活,阿里云EDA上云方案让芯片设计驶入高速路
简介: 今天下午14点,直播间等你 导语:随着芯片工艺的跃升,EDA 需要越来越大的计算能力,处理高达PB级的海量数据.传统的算力交付模式已无法跟上快速发展的芯片设计行业,云的快速交付与强大生态提供了 ...
- 转载 | 如何把 thinkphp5 的项目迁移到阿里云函数计算来应对流量洪峰?
简介: 函数计算评测局的优秀征文! 如何把thinkphp5的项目迁移到阿里云函数计算来应对流量洪峰? 1. 为什么要迁移到阿里云函数? 我的项目是一个节日礼品领取项目,过节的时候会有短时间的流量洪峰 ...
- Service Mesh 从“趋势”走向“无聊”
简介: 过去一年,阿里巴巴在 Service Mesh 的探索道路上依旧扎实前行,这种坚定并非只因坚信 Service Mesh 未来一定是云计算基础技术的关键组成部分,还因需要借这一技术趋势去偿还过 ...
- [Go] 选择 Beego 的三个理由
1. 项目支持角度较其它框架考虑的多一些,比如:目录结构的简单约定,内置项目配置读取,内置bee脚手架,热重载特性 等. (实际这些 feature 都可以找到 golang 专精的组件引入起来,效果 ...
- C语言程序设计-笔记3-循环结构
C语言程序设计-笔记3-循环结构 例4-1 用格雷戈里公式求给定精度的π值.使用格雷戈里公式求π的近似值,要求精确到最后一项的绝对值小于给定精度eps. =1--+-+- #include<s ...
- Solution Set - 组合计数
CF40E Number Table Link&Submission. 显然 \(n,m\) 奇偶性不同时无解.奇偶性相同时,假设有一行全为空,剩下每行至少一个有空,则除这些位置外没有限制的位 ...
- 【简说Python WEB】Bootstrap
目录 [简说Python WEB]Bootstrap Bootstrap的导航组件应用 404,500错误页面定制化 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:vi ...
- WEB服务与NGINX(11)-NGINX状态页
nginx状态页 nginx的状态页功能用于输出nginx的基本状态信息,基于ngx_http_stub_status_module模块实现. 默认情况下不生成此模块,应使用--with-http_s ...