欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

演示如何使用application.yml文件

发布时间:2025/4/5 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 演示如何使用application.yml文件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Spring Boot基础实例3
项目目录如下
演示如何使用application.yml文件配置Spring Boot项目

创建的application.yml文件时由application.properties文件更名而来rename

配置application.yml文件

server:port: 8081servlet:session:timeout: 30tomcat:uri-encoding: UTF-8 age: 19 name: zhaodabao personinfo:name: zhaoxiaobaoage: 3

解释
server:定义服务器的配置
port:定义要访问的端口
timeout:30 定义session的超时时间时30s

测试代码如下GetPersonInfoController.java文件

package com.example.demo; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import static org.junit.Assert.*; @SpringBootTest @RunWith(SpringRunner.class)public class GetPersonInfoController {//获取配置文件中的age@Value("${age}")private int age;//获取配置文件中的name@Value("${name}")private String name;//该注解表示一个测试方法@Testpublic void getAge(){System.out.println(age);}//该注解表示一个测试方法@Testpublic void getName(){System.out.println(name);} }

解释
@SpringBootTest:用于测试的注解,可指定入口类或测试环境等
@RunWith(SpringRunner.class):在Spring测试环境中进行测试。
@Test:表示一个测试方法
@Value:获取配置文件中的值

测试GetName()方法

结果为

zhaodabao

新建GetPersonInfoProperties类
定义一个实体类,以装载配置文件的信息。并用于处理配置文件中以“personinfo”为前缀的配置项的值。

package com.example.demo; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "personinfo")public class GetPersonInfoProperties {private String name;private int age;public String getName(){return name;}public void setName(String name){this.name=name;}public int getAge(){return age;}public void setAge(int age){this.age=age;}}

在测试文件GetPersonInfoController.java中添加如下代码
以下代码演示如何注入 GetPersonInfoProperties类,并获取配置项“personinfo”的name和age的值。

@Autowiredprivate GetPersonInfoProperties getPersonInfoProperties;@Testpublic void getpersonproperties(){System.out.println(getPersonInfoProperties.getName()+getPersonInfoProperties.getAge());}

@Autowired注解解释:它表示被修饰的类需要注入对象。Spring会扫描所有被@Autowired标注的类,然后根据类型在loC容器中找到匹配的类进行注入。被@Autowired注解后的类不需要再导入文件。
并且进行测试

测试结果

zhaoxiaobao3

最后附上pom.xml的内容

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.1.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>实例3</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

其中删掉最新版junit5的依赖,增添了junit4的依赖,并且解决了import org.junit.Test;飘红的错误
请参考笔者的纠错博客:IDEA出现import org.junit.Test飘红解决方案

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>

特意拎出来,以备将来之需。

总结

以上是生活随笔为你收集整理的演示如何使用application.yml文件的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。