引入外部化的配置文件
使用外部属性文件
在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和 Bean 配置相分离
Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配置文件里使用形式为 ${var} 的变量, PropertyPlaceholderConfigurer 从属性文件里加载属性,并使用这些属性来替换变量.
Spring 还允许在属性文件中使用 ${propName},以实现属性之间的相互引用。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=1234
<?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.xsdhttp://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 配置连接池 数据源 --><!-- 引入外部化的配置文件 --><context:property-placeholder location="classpath:db.properties"/><!-- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location" value="classpath:db.properties"></property></bean> --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"></property><property name="jdbcUrl" value="${jdbc.url}"></property><property name="user" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property></bean></beans>
package com.learn.spring.properties;import java.sql.Connection;import javax.sql.DataSource;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {public static void main(String[] args) throws Exception{//1.实例化容器ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-properties.xml");DataSource ds = (DataSource)ctx.getBean("dataSource");System.out.println(ds);Connection conn = ds.getConnection();System.out.println(conn);}
}
引入外部化的配置文件相关推荐
- spring核心配置文件引入外部properties文件和另外的xml配置文件
spring核心配置文件引入外部properties文件和另外的xml配置文件 为什么要引入外部文件 我们使用jdbc的时候,会创建一个jdbc.properties配置文件,如果我需要在spring ...
- springboot引入外部yml配置文件
本文记录下springboot引入外部yml配置文件 文章目录 概述 本文小结 概述 如果不想把所有的配置都写在application.yml文件中,把它拆分成多个yml文件,并在applicatio ...
- 超级详细!!!SpringBoot2核心技术与响应式编程尚硅谷完整知识点笔记 下篇 自动配置、容器、Web、数据响应、拦截器、SQL、NOSQL、原理、Junit5、Actuator、外部化配置等
所有配套资料已上传到QQ群:167356412 需要的话群文件自取 06.数据访问 1.SQL 1.数据源的自动配置-HikariDataSource 1.导入JDBC场景 <dependen ...
- 详解SpringBoot外部化配置
SpringBoot外部化配置(基于2.4.0以后) Spring Boot可以让你将配置外部化,这样你就可以在不同的环境中使用相同的应用程序代码. 你可以使用各种外部配置源,包括Java prope ...
- React-项目-引入外部的样式(14)
react项目如何引入外部的样式,比如我们常常用到的bootstrap ,这篇我们将介绍如何使用外部的第三方的样式 我们在使用之前首先是需要安装bootstrap 如何安装: 我们可以看官网: 这里我 ...
- springboot 获取application参数_LOOK ! SpringBoot的外部化配置最全解析
本篇要点 介绍各种配置方式的优先级. 介绍各种外部化配置方式. 介绍yaml的格式及原理. 介绍如何绑定并测试类型安全的属性配置. 介绍@ConfigurationProperties与@Value的 ...
- Dubbo 新编程模型之外部化配置
2019独角兽企业重金招聘Python工程师标准>>> 外部化配置(External Configuration) 在Dubbo 注解驱动例子中,无论是服务提供方,还是服务消费方,均 ...
- springboot 获取application参数_LOOK ! SpringBoot的外部化配置最全解析
本篇要点 介绍各种配置方式的优先级. 介绍各种外部化配置方式. 介绍yaml的格式及原理. 介绍如何绑定并测试类型安全的属性配置. 介绍@ConfigurationProperties与@Value的 ...
- Spring Cloud配置–外部化应用程序配置
本教程是关于Spring Cloud Config的,这里我们将研究如何在不同的应用程序中针对不同的环境(例如开发人员,本地,产品等)使用Spring Cloud Config来管理和存储分布式外部配 ...
最新文章
- 一副耳机的钱,竟让我体验了「元宇宙」办公
- [NOIP2012] 借教室
- BZOJ 1833 ZJOI2010 count 数字计数 数位DP
- 结婚率连7年下降,数据揭秘单身背后复杂逻辑
- VTK:网格之FillHoles
- 一个监测IIS,并定时重新启动的程序。
- php魔术方法例子,PHP中魔术方法的使用举例
- Python笔记-使用sqlalchemy根据类创建数据库表
- linux-用户管理190919
- Java学习前,需要掌握的一些基础知识
- 索引扫描时,对同一个叶子块访问多次的原因初探
- 置为底层_头一次见浴室装修这样设计,浴缸两头砌上置物台,实用又方便
- VisualDiffer for Mac(文件对比利器)支持m1
- 设计模式之观察者Observer
- 简历模板下载word格式 空白word简历模板下载 电子版个人简历下载
- python opencv读大华摄像头视频流实时移动侦测运动检测截图拍照保存
- Spring Cloud Alibaba微服务架构实战教程—15最详细的Gateway统一网关
- 七牛云图片外链失效的解决办法
- @guardedby同步注解
- 15款jQuery幻灯片插件