1.8.2参数间引用
在Spring Boot配置文件中,配置文件的属性值还可以进行参数间的引用,也就是在后一个配置的属性值中直接引用先前已经定义过的属性,这样可以直接解析其中的属性值了。
使用参数间引用的好处就是,在多个具有相互关联的配置属性中,只需要对其中一处属性预先配置,其他地方都可以引用,省去了后续多处修改的麻烦
参数间引用的语法格式为${xx},xx表示先前在配置文件中已经配置过的属性名,示例代码如下
properties
app.name=MyApp
app.description=${app.name} is a Spring
Boot application
上述参数间引用设置示例中,先设置了“app.name=MyApp”,将app.name属性的属性值设置为了MyApp;接着,在app.description属性配置中,使用${app.name}对前一个属性值进行了引用
接下来,通过一个案例来演示使用随机值设置以及参数间引用的方式进行属性设置的具体使用和效果,具体步骤如下
(1)打开Spring Boot项目resources目录下的application.properties配置文件,在该配置文件中分别通过随机值设置和参数间引用来配置两个测试属性,示例代码如下
properties
# 随机值设置以及参数间引用配置
tom.age=${random.int[10,20]}
tom.description=tom的年龄可能是${tom.age}
在上述application.properties配置文件中,先使用随机值设置了tom.age属性的属性值,该属性值设置在了[10,20]之间,随后使用参数间引用配置了tom.description属性
(2)打开\项目的测试类,在该测试类中新增字符串类型的description属性,并将配置文件中的tom.description属性进行注入,然后新增一个测试方法进行输出测试,示例代码如下
java
@Value("${tom.description}")
private String description;
@Test
public void placeholderTest() {
System.out.println(description);
}
```
上述代码中,通过@Value("${tom.description}")注解将配置文件中的tom.description属性值注入到了对应的description属性中,在测试方法placeholderTest()中对该属性值进行了输出打印。
执行测试方法placeholderTest() ,查看控制台输出效果
<img src="./images/image-20191225172004276.png"
alt="image-20191225172004276" style="zoom:80%;" />
可以看出,测试方法placeholderTest()运行成功,并打印出了属性description的注入内容,该内容与配置文件中配置的属性值保持一致。接着,重复执行测试方法placeholderTest(),查看控制台输出语句中显示的年龄就会在[10,20]之间随机显示
2. SpringBoot原理深入及源码剖析
传统的Spring框架实现一个Web服务,需要导入各种依赖JAR包,然后编写对应的XML配置文件等,相较而言,Spring Boot显得更加方便、快捷和高效。那么,Spring Boot究竟如何做到这些的呢?
接下来分别针对Spring Boot框架的依赖管理、自动配置和执行流程进行深入分析
刚学了拉勾教育的《Java工程师高薪训练营》,看到刚学到的点就回答了。希望拉勾能给我推到想去的公司,目标:字节!!