U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

第7章 Spring的注解@PropertySource 使用与深入理解

来源:http://www.tudoupe.com时间:2022-02-20

@PropertySource注解用来增加PropertySource到 Spring 的Environment中。和@Configuration注解结合使用。

使用例子

给一个指定文件app.properties包含一个键值对bean.name=java.lang.String@PropertySource会把app.properties放入到Environment里。

解析带有占位符

如果占位符my.placheholder已经注册到Environment,那么占位符将被解析成对应的值。如果没有找到对应值,那么将会使用默认值app

覆盖

如果有多个.property的文件,并且每个文件都包含相同的键名,那么存在覆写。

源码分析

处理@PropertSource注解

@PropertySource注解和@Configuration注解结合使用,那源码的入口就是ConfigurationClassPostProcessor#processConfigBeanDefinitions,在方法内创建了类ConfigurationClassParser。由ConfigurationClassParser#processPropertySource方法负责解析处理@PropertySource。大概逻辑就是:获取资源路径,然后由Environment解析路径占位符,得到实际资源路径,然后由ResourceLoader根据路径加载资源Resource,最后把Resource转成PropertySource放入Environment里。

解析占位符 PropertyPlaceholderHelper

PropertyPlaceholderHelper来负责解析替换占位符。具体源码不分析,来看一下具体使用几个例子。

调用时序图

在这里插入图片描述

类图

在这里插入图片描述

扩展

Environment.getProperty(String key):是有顺序的。首先会从systemProperties里获取,如果获取不到,再从systemEnvironment获取;如果获取不到,则从由@PropertySource指定路径获取。

PropertySource

ProertySource可以看作是键值对一种数据结构,包含两个字段name和 泛型类型T

PropertySources

PropertySources可以看作是PropertySource的List结构版本,可以存放多个。

MutablePropertySources

MutablePropertySources是实现类。结构如下所示

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息