java中美元符号的作⽤_$美元符号在配置⽂件中的意义$符号叫什么
$符号加上⼀个⼤括号,学术名称叫做 占位符 ,⽤来占住位置,让其它功能在某⼀个时间替换掉它,替换的来源⼀般是properties⽂件。
1${data}
通常在各种配置⽂件中会有三次替换过程
替换过程源代码娜美活动
操作者
状态
War包⽂件
Maven
编程的课程静态
pom⽂件不会进⼊War包
Maven根据pom⽂件的Package时期
Maven
静态
War包中会被替换⽂本
Spring启动后的启动后
Spring
动态
properties是什么文件不会被替换⽂本,运⾏时获取
关于这三次替换过程的具体应⽤,可以参考⽂章Maven通过Profile切换环境
Maven-Validate
百度站长平台论坛
在Maven中可以采⽤properties标签定义⼀些变量,然后使⽤占位符使⽤这些变量
1
2
3
4
5
6
7
8
9
10
厦门plc编程培训机构4.1.9.RELEASE
org.springframework
spring-core
${spring.version}
例如控制dependency的版本,这些会在Validate的时候去取值,不会进⼊War包
Maven-Package
Maven可以通过Build选项中的filters来指定⼀些properties⽂件,来获取变量值
然后⽤获得值去替换resource下指定了filtering==true的⽂件中的占位符${}
1
2
3
4
5
6
7
8
9
10
11
12
psas
environment/local.properties乱码符号转化器下载
src/main/resources/
true
通常resources都是web层的Spring配置⽂件,例如 l 或 l 等等 在Package后的War包中,${}会被替换掉,替换成propertes中对应的⽂本
Spring配置⽂件占位符
Spring可以通过 PropertiesFactoryBean 来加载配置⽂件,然后使⽤ PreferencesPlaceholderConfigurer 来进⾏替换
1
2
3
4
7
8
9
10
11
12
13
classpath:properties/jdbc.properties
classpath:properties/upload.properties
这个替换过程发⽣在Spring启动之后的运⾏时(Runtime),与上⼀步Maven-Package不同,在War包中的xml⽂件⾥${}符号仍在存在,由启动后的Spring去替换PropertiesFactoryBean加载的⽂本
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论