使用属性文件的好处

  1. 有效的减少硬编码(将配置信息直接写入Java代码中)

  2. 当应用程序的运行环境发生改变时,只需要修改属性文件,而不需要改变源码.提高了运维人员操作的便利性

加载属性文件的方式

使用注解方式

以db.properties文件为例

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/DBName?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
mysql.user=root
mysql.password=010220

可以使用@PropertySource进行属性文件的加载
@PropertySource的配置项有:

  1. ‘name’:字符串,设置属性配置的名称
  2. ‘value’:字符串数组,可以配置多个属性文件
  3. ‘ignoreResourceNotFount’:是个boolean值,默认为false.表示若找不到对应的属性文件是否进行忽略处理。默认若找不到对应的属性文件则抛出异常
  4. ‘encoding’:编码格式(字符集)
package com.bean;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;/*** @author Una* @date 2022/8/9 20:07* @description:*/
@PropertySource(value = {"classpath:db.properties"},ignoreResourceNotFound = true)
public class PropertiesScan {}

测试时使用getEnvironment().getProperty()可获得

import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;import static org.junit.Assert.*;/*** @author Una* @date 2022/8/9 20:08* @description:*/
public class PropertiesScanTest {@Testpublic void showProperties(){AnnotationConfigApplicationContext aac=new AnnotationConfigApplicationContext(PropertiesScan.class);String root=aac.getEnvironment().getProperty("mysql.root");System.out.println(root);}}

使用XML方式加载属性文件

在配置文件中直接加入<context>字段

  <context:property-placeholder location="classpath:database-config.properties" ignore-resource-not-found="true"/>

Spring框架——加载属性(properties)文件相关推荐

  1. [转载]spring+mybatis加载属性文件设置数据源失败原因及解决方案 - 泡在网上的日子

    spring+mybatis加载属性文件设置数据源失败原因及解决方案 - 泡在网上的日子 http://www.jcodecraeer.com/a/chengxusheji/java/2013/062 ...

  2. springboot 加载一个properties文件转换为对象、List和Map数据结构

    springboot 加载一个properties文件转换为对象.List和Map数据结构 一.springboot 加载一个properties文件转换为对象 1.1.配置文件-blog.prope ...

  3. Spring 源码阅读 之 Spring框架加载

    说起第一次阅读Spring Framework源码,大概还是2010年吧,那个时候还不懂技巧和方法,一头扎在代码的汪洋大海里,出不来了.后面几年偶尔断断续续的也看过几次,都是不得要领,最后都是无疾而终 ...

  4. 加密Spring加载的Properties文件

    目标:要加密spring的jdbc配置文件的密码口令. 实现思路:重写加载器的方法,做到偷梁换柱,在真正使用配置之前完成解密. 1.扩展 package com.lavasoft.freamwork. ...

  5. Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则

    SpringApplication会从以下路径加载所有的application.properties文件: 1.file:./config/(当前目录下的config文件夹) 2.file:./(当前 ...

  6. 解决Idea中maven项目druid连接池加载druid.properties文件时报 inStream parameter is null异常(原因有待考证)

    我认为应该是没有把druid.properties文件加载到输入流中. 原代码是 InputStream is = JDBCUtils.class.getClassLoader().getResour ...

  7. Spring Boot加载配置文件

    问题1:Spring如何加载配置,配置文件位置? 1.默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置 ...

  8. Spring 配置文件加载原理

    参考:准备Spring Boot的环境 1 核心原理 ⭐️1 在SpringBoot的环境准备阶段的后期, 发布一个ApplicationEnvironmentPreparedEvent事件 ⭐️2 ...

  9. Spring如何加载XSD文件

    http://blog.csdn.net/bluishglc/article/details/7596118 本文原文连接: http://blog.csdn.net/bluishglc/articl ...

最新文章

  1. 理解和实现分布式TensorFlow集群完整教程
  2. 因退休太无聊,Python创始人加入微软!
  3. Nginx图片剪裁模块探究 http_image_filter_module
  4. drcom linux怎么运行,Drcom_linux
  5. 线程、多线程和线程池,看完这些你就能全部搞懂了
  6. MATLAB矩阵的算术运算
  7. mjpeg解码到rgb
  8. java程序设计自考_java程序设计自考试题
  9. 解决AutoCAD acmgd.dll ARX命令中发现异常
  10. 计算机算法知识点总结,2021计算机考研知识点总结(1)
  11. ubuntu下取代ping的好工具tcpping
  12. Comsol学习——经典案例:水净化反应器
  13. 站长福音:网站实时监控
  14. Neuronink是医学奇迹的噩梦
  15. 排序:ORDER BY
  16. 荣耀v40和华为nova8参数对比哪个好 华为nova8和荣耀v40的区别
  17. 带有源代码的2020年20种最佳HTML5游戏模板
  18. WordPress自带TinyMCE编辑器增强技巧大全
  19. 7. 【containerd】连接远程containerd问题
  20. Unity中Destory销毁对象不是立即销毁

热门文章

  1. 写完这段代码,就被开除了……
  2. BDTC 2017 | 区块链论坛:华东师范、中科院、趣链、人民大学、人民保险专家共话区块链的现状和未来...
  3. 圆与圆的位置关系题目含答案_中考总复习:圆的专题复习-圆的性质及与圆有关的位置关系考点分析...
  4. 推荐几款很实用画图工具
  5. 一张图看懂IaaS, PaaS和SaaS的区别
  6. EO、DTO、ViewModel的区别
  7. 计算机全息图的制作与在线,一种计算全息图的制作和再现方法与流程
  8. PHP微信公众平台自定义菜单
  9. VB版第三期人物---yoki
  10. 系统自己弹出诸如 kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuck for 26s [mysqld:2875]