Springboot读取yml文件参数

简介: Springboot读取yml文件参数

几种数据格式

  1. 普通的值(数字,字符串,布尔)就是:key: value
  2. 对象、Map (属性和值) (键值对)
  3. 数组 (List、Set)

字符串默认不用加上单引号或者双引号;

"":双引号;不会转义字符串里面的特殊字符; name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi

’’:单引号;会转义特殊字符 据 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi

# 对象、Map
person:
    age: 18
    name: Tom
# 用- 值表示数组中的一个元素    
hands:
   - left
   - right

@value方式

server:
  port: 9091
@Value("${server.port}")
public String port; 
@Value("${tag}")
private String value
@Value("#{configProperties['tag.msgname']}")
private String value
@Value("${tag.msgname}")
private String value

value 值为空:

  • 使用static或final修饰
    private static String value; //错误
    private final String value; //错误
  • 类上没有加上@Component(或@service等)
  • 没有使用@Autowired注入而是通过new创建实例

@ConfigurationProperties方式

student:
    age: 18
    name: polly
@Component
@ConfigurationProperties(prefix = "student")
public class Student {
    private String name;
    private Integer age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

@ConfigurationProperties读取参数,需要一个JavaBean 来专门映射配置

使用@ConfigurationProperties,需要配置一个prefix (前缀) 参数, 即写上 key 就可以了

@Environment方式

test:
    msg: a123
@Autowired
  private Environment env
  @RequestMapping(value = "index", method = RequestMethod.GET)
  public void index() {
      System.out.println(env.getProperty("test.msg"));
  }
}


相关文章
|
XML Java Maven
springboot-多环境配置文件
本文介绍了如何创建开发和生产环境的配置文件,并在IDEA和Maven中进行配置。开发环境中,通过设置profile为`dev`来指定配置文件;生产环境中,使用Maven命令参数`-Pprod`打包并指定配置文件。公共配置可放在`application.yml`中统一管理。日志配置需确保`logback-spring.xml`中的profile正确,以保证日志正常输出。
1137 4
springboot-多环境配置文件
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler("/img/**").addResourceLocations("file:E:\\myProject\\forum_server\\")`配置,使前端可通过URL直接访问图片。
856 0
Springboot静态资源映射及文件映射
|
10月前
|
前端开发 Java 数据库连接
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
|
10月前
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1557 1
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
Java Spring
SpringBoot 实战 不同参数调用不同实现
本文介绍了如何在实际工作中根据不同的入参调用不同的实现,采用`map+enum`的方式实现优雅且严谨的解决方案。通过Spring Boot框架中的工厂模式或策略模式,避免了使用冗长的`if...else...`语句。文中详细展示了定义接口、实现类、枚举类以及控制器调用的代码示例,确保用户输入的合法性并简化了代码逻辑。
555 1
SpringBoot 实战 不同参数调用不同实现
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
311 11
|
存储 前端开发 JavaScript
SpringBoot结合Minio实现文件切片极速上传
【10月更文挑战第21天】
1013 6
|
Java
SpringBoot 的.yml配置文件通用模板
SpringBoot 的.yml配置文件通用模板
725 0
SpringBoot 的.yml配置文件通用模板

热门文章

最新文章