Spring框架——加载属性(properties)文件
使用属性文件的好处
有效的减少硬编码(将配置信息直接写入Java代码中)
当应用程序的运行环境发生改变时,只需要修改属性文件,而不需要改变源码.提高了运维人员操作的便利性
加载属性文件的方式
使用注解方式
以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的配置项有:
- ‘name’:字符串,设置属性配置的名称
- ‘value’:字符串数组,可以配置多个属性文件
- ‘ignoreResourceNotFount’:是个boolean值,默认为false.表示若找不到对应的属性文件是否进行忽略处理。默认若找不到对应的属性文件则抛出异常
- ‘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)文件相关推荐
- [转载]spring+mybatis加载属性文件设置数据源失败原因及解决方案 - 泡在网上的日子
spring+mybatis加载属性文件设置数据源失败原因及解决方案 - 泡在网上的日子 http://www.jcodecraeer.com/a/chengxusheji/java/2013/062 ...
- springboot 加载一个properties文件转换为对象、List和Map数据结构
springboot 加载一个properties文件转换为对象.List和Map数据结构 一.springboot 加载一个properties文件转换为对象 1.1.配置文件-blog.prope ...
- Spring 源码阅读 之 Spring框架加载
说起第一次阅读Spring Framework源码,大概还是2010年吧,那个时候还不懂技巧和方法,一头扎在代码的汪洋大海里,出不来了.后面几年偶尔断断续续的也看过几次,都是不得要领,最后都是无疾而终 ...
- 加密Spring加载的Properties文件
目标:要加密spring的jdbc配置文件的密码口令. 实现思路:重写加载器的方法,做到偷梁换柱,在真正使用配置之前完成解密. 1.扩展 package com.lavasoft.freamwork. ...
- Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则
SpringApplication会从以下路径加载所有的application.properties文件: 1.file:./config/(当前目录下的config文件夹) 2.file:./(当前 ...
- 解决Idea中maven项目druid连接池加载druid.properties文件时报 inStream parameter is null异常(原因有待考证)
我认为应该是没有把druid.properties文件加载到输入流中. 原代码是 InputStream is = JDBCUtils.class.getClassLoader().getResour ...
- Spring Boot加载配置文件
问题1:Spring如何加载配置,配置文件位置? 1.默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置 ...
- Spring 配置文件加载原理
参考:准备Spring Boot的环境 1 核心原理 ⭐️1 在SpringBoot的环境准备阶段的后期, 发布一个ApplicationEnvironmentPreparedEvent事件 ⭐️2 ...
- Spring如何加载XSD文件
http://blog.csdn.net/bluishglc/article/details/7596118 本文原文连接: http://blog.csdn.net/bluishglc/articl ...
最新文章
- 理解和实现分布式TensorFlow集群完整教程
- 因退休太无聊,Python创始人加入微软!
- Nginx图片剪裁模块探究 http_image_filter_module
- drcom linux怎么运行,Drcom_linux
- 线程、多线程和线程池,看完这些你就能全部搞懂了
- MATLAB矩阵的算术运算
- mjpeg解码到rgb
- java程序设计自考_java程序设计自考试题
- 解决AutoCAD acmgd.dll ARX命令中发现异常
- 计算机算法知识点总结,2021计算机考研知识点总结(1)
- ubuntu下取代ping的好工具tcpping
- Comsol学习——经典案例:水净化反应器
- 站长福音:网站实时监控
- Neuronink是医学奇迹的噩梦
- 排序:ORDER BY
- 荣耀v40和华为nova8参数对比哪个好 华为nova8和荣耀v40的区别
- 带有源代码的2020年20种最佳HTML5游戏模板
- WordPress自带TinyMCE编辑器增强技巧大全
- 7. 【containerd】连接远程containerd问题
- Unity中Destory销毁对象不是立即销毁
热门文章
- 写完这段代码,就被开除了……
- BDTC 2017 | 区块链论坛:华东师范、中科院、趣链、人民大学、人民保险专家共话区块链的现状和未来...
- 圆与圆的位置关系题目含答案_中考总复习:圆的专题复习-圆的性质及与圆有关的位置关系考点分析...
- 推荐几款很实用画图工具
- 一张图看懂IaaS, PaaS和SaaS的区别
- EO、DTO、ViewModel的区别
- 计算机全息图的制作与在线,一种计算全息图的制作和再现方法与流程
- PHP微信公众平台自定义菜单
- VB版第三期人物---yoki
- 系统自己弹出诸如 kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuck for 26s [mysqld:2875]