spring读取properties文件属性,文件属性与系统属性冲突

2023-05-16

1 问题概述

spring在读取properties文件属性时,当文件属性与系统属性冲突时,会读取到系统属性值。

2 问题复现

2.1 读取properties文件

  1. 创建maven工程
  2. 在pom.xml文件中添加spring坐标
  3. 在resources目录下创建spring配置文件
  4. 将配置文件内容改为以下内容
    1.  <?xml version="1.0" encoding="UTF-8"?>
       <beans xmlns="http://www.springframework.org/schema/beans"
       	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       	   xmlns:context="http://www.springframework.org/schema/context"
       	   xsi:schemaLocation="
       	   http://www.springframework.org/schema/beans 
       	   http://www.springframework.org/schema/beans/spring-beans.xsd
       	   http://www.springframework.org/schema/context 
       	   http://www.springframework.org/schema/context/spring-context.xsd">
       
       </beans>
      
  5. 在resources目录下创建test.properties文件
  6. 在test.properties文件内添加username=123
  7. 加载test.properties文件
    1. 在spring配置文件中添加如下代码
    2. <context:property-placeholder location="classpath:test.properties"/>
    3. 加载test.properties文件

2.2 读取文件属性

  1. 在java目录下创建Test.java文件用于输出读取到的属性
    1.  package cn.qiguai;
      
       public class Test {
       	private String str;
       
       	public void setStr(String str) {
       		this.str = str;
       	}
       
       	public void save() {
       		System.out.println("str = " + str);
       	}
       }
      
  2. 读取文件属性(利用${})
    读取文件属性
  3. 创建TestDemo.java文件输出读取到的数据
package cn.qiguai;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestDemo {
	public static void main(String[] args) {
		//获取容器对象
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

		Test test = (Test) ac.getBean("test");
		test.save();
	}
}
  1. 我们预期结果应该是str = 123,而观察控制台输出结果却为str = Administrator

3 原因

test.properties文件中username属性与系统属性名称冲突,而系统属性优先级高于文件属性,因此读取到的就是系统属性。

4解决方案

在如下位置添加如下代码,让spring取消加载系统属性
取消加载系统属性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring读取properties文件属性,文件属性与系统属性冲突 的相关文章

随机推荐

  • 【组织架构】中国铁路上海局集团有限公司

    0 参考 中国铁路上海局集团有限公司 1 公司介绍 中国铁路上海局集团有限公司成立于1994年11月15日 xff0c 注册地位于上海市静安区天目东路80号 xff0c 法定代表人为侯文玉 公司是中国国家铁路集团有限公司管理的18个铁路局集
  • 【组织架构】中国铁路南昌局集团有限公司

    0 参考 中国铁路南昌局集团有限公司 1 公司介绍 中国铁路南昌局集团有限公司 xff0c 是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一 xff0c 于2017年11月19日挂牌成立 xff0c 前身为南昌铁路局 中国铁路南
  • 【组织架构】中国铁路南宁局集团有限公司

    0 参考 中国铁路南宁局集团有限公司 1 公司介绍 中国铁路南宁局集团有限公司 xff0c 是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一 xff0c 简称 宁局 xff0c 前身是成立于1953年1月1日的柳州铁路局 xff
  • 【组织架构】中国铁路成都局集团有限公司

    0 参考 中国铁路成都局集团有限公司 1 公司介绍 中国铁路成都局集团有限公司 xff0c 是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一 xff0c 简称 成局 xff0c 地处中国西南 xff0c 管辖范围辐射四川 贵州
  • 【组织架构】中国铁路昆明局集团有限公司

    0 参考 中国铁路昆明局集团有限公司 1 公司介绍 中国铁路昆明局集团有限公司 xff0c 是中国国家铁路集团有限公司管理的18个铁路局集团有限公司之一 xff0c 简称 昆局 管理昆明铁路办事处以及开远铁路办事处 xff0c 路局机关设在
  • 人工智能轨道交通行业周刊-第39期(2023.3.20-3.26)

    本期关键词 xff1a 综合运维智控中心 现场防护员 模型先验知识 机器视觉照明 国铁统计公报 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨
  • Midjourney保姆级入门教程

    0 背景 在 AI 画图领域 xff0c midjourney 目前是效果最好的一个工具 xff0c 目前已经更新到 V5 版本 xff0c 生成的各种神图层出不穷 xff0c 什么国足夺冠 特朗普插秧 教皇打碟 异形下乡 只要你敢想AI就
  • 人工智能轨道交通行业周刊-第40期(2023.3.27-4.2)

    本期关键词 xff1a TACS列车 智能雄安站 火车掉头 高铁供电 AIGC发展史 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟
  • 人工智能轨道交通行业周刊-第41期(2023.4.3-4.9)

    本期关键词 xff1a 西安智慧车站 宁波应急保障 钢轨伸缩调节器 城轨统计报告 SAM SegGPT 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS Wo
  • 人工智能轨道交通行业周刊-第42期(2023.4.10-4.23)

    本期关键词 xff1a 车辆智能检测 智能运维 数字孪生 无人机 信号工装备 商汤大模型 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通
  • mysql视图使用

    先讲下视图的概述吧 视图是一种 虚拟表 xff0c 本身是 不具有数据 的 xff0c 占用很少的内存空间 xff0c 它是 SQL 中的一个重要概念 视图建立在已有表的基础上 视图赖以建立的这些表称为 基表 视图他自己可以被称为 从表 虚
  • 人工智能轨道交通行业周刊-第43期(2023.4.24-5.7)

    本期关键词 xff1a 综合智能检测 隧道检测 智慧城轨白皮书 虚拟编组 讯飞星火大模型 央企数字化 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS Wor
  • kolla搭建octavia

    本文是在另外一篇文章的基础上使用kolla ansible 部署octavia实践总结 部分内容总结略有粗糙 xff0c 见谅 使用kolla ansible all in one部署OpenStack Stein https blog c
  • 关闭win10自动更新——组策略

    1 为什么要关闭自动更新 我一向是推荐关闭自动更新 xff0c 然后有时间的时候自己主动去更新 xff0c 因为win10更新还是修复了一些bug的 xff0c 但是自动更新会闹出很多问题 xff0c 例如紧急开会的时候发现电脑在自动更新
  • python 中位于运算符 & 应用

    amp 运算符在计算机中是二进制运算符 xff0c 常使用 amp 61 xff0c 即先进性位于运算符 xff0c 在进行赋值 xff0c 例如 a amp 61 b 等价于 a 61 a amp b 位于运算只二进制 保同除异 a 61
  • 【FreeRDP 】

    Ubuntu18 04安装FreeRDP 远程连接Windows桌面 1 FreeRDP2 环境3 Ubuntu安装xfreerdp4 连接准备5 连接6 问题总结 1 FreeRDP FreeRDP lt 61 61 gt Remote
  • 7-1 编写程序,输入年、月、日,计算该 日是该年的第几天。要求:计算日期、判断闰年均使用自定义函数实现。

    7 1 编写程序 xff0c 输入年 月 日 xff0c 计算该 日是该年的第几天 要求 xff1a 计算日期 判断闰年均使用自定义函数实现 编写程序 xff0c 输入年 月 日 xff0c 计算该 日是该年的第几天 要求 xff1a 计算
  • ifort + mkl + impi (全套intel)编译安装量子化学软件GAMESS 2022 R1版本

    说明 xff1a linux下编译软件都需要先配置好该软件依赖的系统环境 系统环境可以通过软件的安装说明了解 xff0c 例如 xff1a readme md等文件或网页 这个前提条件很重要 xff01 后面正式编译出错基本都可以归结到系统
  • Linux C 编程技巧--利用有限状态机模型编程

    我们知道 xff0c 一般编写程序时都要画出流程图 xff0c 按照流程图结构来编程 xff0c 如果编写一个比较繁琐 xff0c 容易思维混乱的程序时 xff0c 我们可以利用有限状态机模型画出一个状态转移图 xff0c 这样便可以利用画
  • spring读取properties文件属性,文件属性与系统属性冲突

    1 问题概述 spring在读取properties文件属性时 xff0c 当文件属性与系统属性冲突时 xff0c 会读取到系统属性值 2 问题复现 2 1 读取properties文件 创建maven工程在pom xml文件中添加spri