三种方式
编写yaml文件
# yml文件自定义配置information:name: 小明
age:16tel:88888888888address: 北京市
subject:- 数学
- 英语
- 语文
- 物理
- 化学
方式一:@Value注解(只注入单个元素)
实现步骤:
@SpringBootTestpublicclassResourcesTest{@Value("${information.name}")privateString name;@Value("${information.age}")privateInteger age;@Value("${information.tel}")privateString tel;@Value("${information.address}")privateString address;@Value("${information.subject[0]}")//只能注入单个属性privateString subject;@TestpublicvoidtestValue(){System.out.println("姓名:"+name);System.out.println("年龄:"+age);System.out.println("电话:"+tel);System.out.println("住址:"+address);System.out.println("学科:"+subject);}}
运行结果:
方式二:封装全部数据到Environment对象
实现步骤:
@SpringBootTestpublicclassResourcesTest{@AutowiredprivateEnvironment environment;//容器中已经加载了这个对象,并且封装了所有的属性@TestpublicvoidtestEnvironment(){String name = environment.getProperty("information.name");String age = environment.getProperty("information.age");String subject = environment.getProperty("information.subject[0]");System.out.println("姓名:"+name);System.out.println("年龄:"+age);System.out.println("学科:"+subject);}}
运行结果:
方式三:自定义对象封装指定数据【常用】
可实现数组封装
实现步骤:
1、定义实体类用于封装数据
@Component//将对象添加Spring容器中,在类上添加@Component注解@ConfigurationProperties(prefix ="information")//在类上添加@ConfigurationProperties(prefix="指定前缀")@DatapublicclassInformation{privateString name;privateInteger age;privateString tel;privateString address;privateString[] subject;}
2、实现
@SpringBootTestpublicclassResourcesTest{@AutowiredprivateInformation information;@TestpublicvoidtestSelfdefining(){System.out.println(information);}}
运行结果:
拓展:自定义对象封装数据警告解决方案
在自定义对象使用
@ConfigurationProperties
注解会出现以下警告
Spring Boot Configuration Annotation Processor not configured
只需要在pom.xml添加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>
本文转载自: https://blog.csdn.net/weixin_44732769/article/details/127834917
版权归原作者 Cary.. 所有, 如有侵权,请联系我们删除。
版权归原作者 Cary.. 所有, 如有侵权,请联系我们删除。