Environment
对象的 getProperty(String name)
方法获取 。具体代码如下:
@RestController@RequestMapping("/books")public class BookController { @Autowired private Environment env; @GetMapping("/{id}") public String getById(@PathVariable Integer id){ System.out.println(env.getProperty("lesson")); System.out.println(env.getProperty("enterprise.name")); System.out.println(env.getProperty("enterprise.subject[0]")); return "hello , spring boot!"; }}
注意:这种方式,框架内容大量数据 , 框架使用的比较多,而在开发中我们很少使用 。3.2.3 自定义对象
SpringBoot
还提供了将配置文件中的数据封装到我们自定义的实体类对象中的方式 。具体操作如下:- 将实体类
bean
的创建交给Spring
管理 。
在类上添加@Component
注解
- 使用
@ConfigurationProperties
注解表示加载配置文件
在该注解中也可以使用prefix
属性指定只加载指定前缀的数据
- 在
BookController
中进行注入
Enterprise
实体类内容如下:@Component@ConfigurationProperties(prefix = "enterprise")public class Enterprise { private String name; private int age; private String tel; private String[] subject;? 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; }? public String getTel() { return tel; }? public void setTel(String tel) { this.tel = tel; }? public String[] getSubject() { return subject; }? public void setSubject(String[] subject) { this.subject = subject; }? @Override public String toString() { return "Enterprise{" + "name='" + name + '\'' + ", age=" + age + ", tel='" + tel + '\'' + ", subject=" + Arrays.toString(subject) + '}'; }}
BookController
内容如下:@RestController@RequestMapping("/books")public class BookController { @Autowired private Enterprise enterprise;? @GetMapping("/{id}") public String getById(@PathVariable Integer id){ System.out.println(enterprise.getName()); System.out.println(enterprise.getAge()); System.out.println(enterprise.getSubject()); System.out.println(enterprise.getTel()); System.out.println(enterprise.getSubject()[0]); return "hello , spring boot!"; }}
注意:使用第三种方式,在实体类上有如下警告提示文章插图
这个警告提示解决是在
pom.xml
中添加如下依赖即可<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional></dependency>
【三十六 Java开发学习----SpringBoot三种配置文件解析】
推荐阅读
- 《Thinking In Java》作者:不要使用并发!
- aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE
- Windows esp-idf 安装
- 建议收藏 Java线程同步的四种方式详解
- aardio + PHP 可视化快速开发独立 EXE 桌面程序
- 制造企业有可能自行开发ERP系统吗?
- aardio + VBScript 混合开发
- 14 基于SqlSugar的开发框架循序渐进介绍-- 基于Vue3+TypeScript的全局对象的注入和使用
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
- Java导出带格式的Excel数据到Word表格