1. 用 @Value 注解

直接可以在你要用到改配置文件信息的类里面进行

具体例子如下:

@Service
public class MyCommandService {
    @Value("${name:unknown}")
    private String name;
    public String getMessage() {
        return getMessage(name);
    }
    public String getMessage(String name) {
        return “”;
    }
}

2 .

@PropertySource("classpath:xxx.properties") 与 @Value 注解配合

@PropertySource   注解当前类,参数为对应的配置文件路径.

package com.yihaomen.springboot;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource("classpath:application.properties")
public class GlobalProperties {
    @Value("${name}")
    private String name;
    @Value("${address}")
    private String address;   
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}

3读取自定义配置文件中的配置信息

为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,这里在resources目录下创建配置文件author.properties

resources/author.properties内容如下:

author.name=Solin
author.age=22
创建管理配置的实体类:
package Solin.controller;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;//加上注释@Component,可以直接在其他地方使用@Autowired来创建其实例对象
@Component
@ConfigurationProperties(prefix = "author",locations = "classpath:author.properties")
public class MyWebConfig{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;}
}

注意:
在@ConfigurationProperties注释中有两个属性:
locations:指定配置文件的所在位置
prefix:指定配置文件中键名称的前缀(我这里配置文件中所有键名都是以author.开头)
    使用@Component是让该类能够在其他地方被依赖使用,即使用@Autowired注释来创建实例。
创建测试Controller

package Solin.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class ConfigController {@Autowiredprivate MyWebConfig conf;@RequestMapping("/test") public @ResponseBody String test() {return "Name:"+conf.getName()+"---"+"Age:"+conf.getAge(); }
}

注意:由于在Conf类上加了注释@Component,所以可以直接在这里使用@Autowired来创建其实例对象。

转载于:https://www.cnblogs.com/wwqqnn123456/p/7903049.html

Spring boot 如何读取配置文件properties中的信息相关推荐

  1. Spring Boot—07应用application.properties中的配置

    方法1 @Value("${test.msg}") private String msg; 方法2 @Autowired private Environment env; Stri ...

  2. Spring Boot加载配置文件

    问题1:Spring如何加载配置,配置文件位置? 1.默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置 ...

  3. Spring Boot 格式化接口返回JSON中的日期/日期时间(LocalDate/LocalDateTime)

    Spring Boot默认使用JackJson作为json转换器,用于生成JSON格式数据,有时候它格式化的日期/日期时间(LocalDate/LocalDateTime)字段并不符合产品的需求,因此 ...

  4. spring boot使用yaml替代properties

    spring boot使用yaml替代properties 无需导入相关jar因为在新建spring boot 项目时会自动引入snakeyaml,从而自动实现对yaml的支持. 例子: enviro ...

  5. ABAP函数:SD_VBAP_READ_WITH_VBELN(根据销售订单读取表vbap中的信息)

    function:SD_VBAP_READ_WITH_VBELN 功能:根据销售订单读取表vbap中的信息 参数:   import:I_VBELN                          ...

  6. Spring :读取配置文件(.properties、.yam)相关注解

    1.美图 2.概述 读取配置文件相关的注解,就是用来帮助我们获取到配置文件.properties..yam里面信息的. 读取配置文件相关注解 解释 @EnableConfigurationProper ...

  7. struts2 Action 通过Spring管理, 并通过Spring的方式读取配置文件

    2019独角兽企业重金招聘Python工程师标准>>> 是这样的项目用的是Struts2 和Spring.我想在action层中测试下配置文件读取是否正常,Spring 版本有点低是 ...

  8. Spring Boot+Maven将配置文件打包到Jar包外方便运维修改配置

    导语   在小公司使用Spring Boot部署上线,因为环境太多,导致运维开发相互之间重复的打包jar包运行到不同的环境上,使用容器技术又显得有点浪费,所以就先将配置文件打包的jar包外面.然后运维 ...

  9. Spring Boot使用自定义的properties

    2019独角兽企业重金招聘Python工程师标准>>> spring boot使用application.properties默认了很多配置.但需要自己添加一些配置的时候,我们应该怎 ...

最新文章

  1. Python+selenium自动化测试:报错:TypeError: 'WebElement' object is not iterable
  2. Android --- This custom view should extend android.support.v7.widget.AppCompatTextView instead
  3. jbox2d_JBox2D和JavaFX:事件与力量
  4. 9型转x型 cobol_兰州一餐馆推鸳鸯牛肉面 9种面型一面多吃
  5. 使用Docker运行oracle11g企业版和简单配置
  6. java获取页面点击次数_java计算鼠标点击次数的题,急求!
  7. Qemu 简述 | 转
  8. PBR理论基础3.1:基于图像的光照(下)
  9. 数据可视化工具的特点有哪些
  10. ARM平台交叉编译valgrind
  11. html js 处理元素的数据属性(data)
  12. 基于OP放大器的有源模拟滤波器设计--一阶有源滤波器
  13. C51单片机 SIM900A 手机给门禁解锁 智能家居 【C程序代码已开源,更新至Ver4.0】...
  14. 二硫键交联的巯基化壳聚糖水凝胶/pH、离子强度敏感性的壳聚糖水凝胶CS-GA-ASP
  15. 编写.CHM格式的文档
  16. 2020身高体重标准表儿童_2020儿童标准身高表出炉,对照下!
  17. pycharm设置文件模板
  18. /etc/passwd文件详解
  19. 邮箱功能开发总结(以新浪邮箱为例子)
  20. 通过键盘输入每年每月每日,计算并输出这一天是这一年的第几天,例如2001年3月5日是这一年的第64天。

热门文章

  1. 有勇气的牛排 --- 安卓
  2. vue常用语法 渲染数据
  3. OpenVINO 部署 YOLOv5 转换IR文件
  4. 每天一个linux命令:cat
  5. BZOJ5091摘苹果(概率、期望)
  6. 2017-10-29—英语发音的一些技巧总结
  7. ES6--函数的扩展
  8. Java Collection
  9. Eclipse 启动问题:'Initilizing Java Tooling' has encountered a problem(。。。)
  10. server 2008访问Server 2003数据慢