springboot yml定义属性,下文中${} 引用说明

比如: yml中自定义一个域名属性:

mytest:

domainName: https://www.jb51.net

上面定义了之后, 在此配置文件中,就可通过 ${} 来代替域名了

defaultHead: ${mytest.domainName}/head.jpeg

补充知识:Java读取.yaml配置文件(使用@Value("${prefix_name}"))

添加lombok依赖

【注】lombok是可选的,但是如果yaml配合lombok使用将非常的方便,代码也很简洁

compileOnly('org.projectlombok:lombok:1.18.4')

IDE要安装Lombok

如果是IDEA,则需要勾选Enable annotation procession:Preferences -> Build、Execution、Deployment -> Enable annotation procession

application.yml
spring:
 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://172.16.126.135:3306/emall?characterEncoding=utf-8
  username: watson.wei
  password: Password123#

新建YamlUtil类

【注】使用 import org.springframework.beans.factory.annotation.Value; 的 @Value("${prefix_name}") 注解

【注】@Value("${prefix_name}")注解的变量不能是static或final,否则yamlUtil获取的值为null

import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
@Getter
public class YamlUtil {
  // 【注】@Value("${prefix_name}")注解的变量不能是static或final,否则yamlUtil获取的值为null
  @Value("${spring.datasource.url}")
  private String datasourceUrl;

  @Value("${spring.datasource.username}")
  private String datasourceUsername;

  @Value("${spring.datasource.password}")
  private String datasourcePassword;
}

获取yml文件的值

【注】不能使用new YamlUtil()来创建对象,否则yamlUtil获取的值为null

import com.demo.shiro.util.YamlUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
@Slf4j
public class YamlTest {
  // 【注】不能使用new YamlUtil()来创建对象,否则yamlUtil获取的值为null
  @Autowired
  private YamlUtil yamlUtil;

  public void test() {
    log.info(yamlUtil.getDatasourcePassword());
  }
}

以上这篇springboot yml定义属性,下文中${} 引用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在SpringBoot下读取自定义properties配置文件的方法

    SpringBoot工程默认读取application.properties配置文件.如果需要自定义properties文件,如何读取呢? 一.在resource中新建.properties文件 在resource目录下新建一个config文件夹,然后新建一个.properties文件放在该文件夹下.如图remote.properties所示 二.编写配置文件 remote.uploadFilesUrl=/resource/files/ remote.uploadPicUrl=/resource

  • 详解springboot读取yml配置的几种方式

    yml 文件规则 yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的. 不支持tab缩进 可以使用 "-小写字母" 或 "_小写字母"来 代替 "大写字母",如 userName 与 user-name ,user_name 含义是一样的 key: value 格式书写 key 后面跟着冒号,再后面跟着一个空格,然后是值 几种数据格式的表示方式 1.普通的值(数字,字符串,布尔) 2.对象.Map (属性和值) (

  • 详解Spring Boot加载properties和yml配置文件

    一.系统启动后注入配置 package com.example.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframewo

  • springboot yml定义属性,下文中${} 引用说明

    比如: yml中自定义一个域名属性: mytest: domainName: https://www.jb51.net 上面定义了之后, 在此配置文件中,就可通过 ${} 来代替域名了 defaultHead: ${mytest.domainName}/head.jpeg 补充知识:Java读取.yaml配置文件(使用@Value("${prefix_name}")) 添加lombok依赖 [注]lombok是可选的,但是如果yaml配合lombok使用将非常的方便,代码也很简洁 co

  • 关于springboot 配置文件中属性变量引用方式@@解析

    这种属性应用方式是 field_name=@field_value@. 两个@符号是springboot为替代${}属性占位符产生,原因是${}会被maven处理,所以应该是起不到引用变量的作用. @@方式可以引用springboot非默认配置文件(即其他配置文件)中的变量: springboot默认配置文件是 src/main/resources/application.properties 补充知识:springboot项目使用@Value注解获取配置文件中的配置信息 application

  • SpringBoot yml配置文件读取方法详解

    目录 yaml介绍 yaml语法规则 yaml数据读取 Environment读取yaml全部属性数据 自定义对象封装指定数据 yaml介绍 YAML(YAML Ain't Markup Language),一种数据序列化格式 优点: 容易阅读 容易与脚本语言交互 以数据为核心,重数据轻格式 YANL文件扩展名 .yml(主流) .yaml 几种数据格式比较 yaml语法规则 大小写敏感 属性层级关系使用多行描述,每行结尾使用冒号结束 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许

  • SpringBoot随机数设置及参数间引用的操作步骤

    自定义配置 SpringBoot免除了项目中大部分手动配置,可以说,几乎所有的配置都可以写在全局配置文件application.peroperties中,SpringBoot会自动加载全局配置文件从而免除我们手动加载的烦恼.但是,如果我们自定义了配置文件,那么SpringBoot是无法识别这些配置文件的,此时需要我们手动加载. 接下来,将针对SpringBoot的自定义配置文件及其加载方式进行讲解. (1)使用@PropertySource加载配置文件 我们可以使用@PropertySource

  • 关于springBoot yml文件的list读取问题总结(亲测)

    目录 springBoot yml文件的list读取问题 配置如下 1.定义配置类 2.定义启动的配置类 3.使用方式 读取yml文件里的list配置 YAML 支持以下几种数据类型 这里只介绍list类型的读取 拿到配置文件里的内容 springBoot yml文件的list读取问题 折腾了很久,记录下. 配置如下 # 自定义数据上报信息 xx: # 机组信息 machine1s: - name: XXXX frequency: null frequency-unit: null pressu

  • Springboot yml Map List读取方式

    目录 Springboot yml Map List读取 1.配置类集中放置 2.配置类单独放置 3.List读取 4.问题:配置类没有获取到值 Springboot yml内list.map组合写法 Springboot yml Map List读取 Springboot 读取yml中的值作为参数,有2种写法: 例子: 已知有如下yml配置:   myapps:     1131f78c313e11e79da3000c298bdf0e: AMS系统     1ae211c543a14cf698

  • Springboot中项目的属性配置的详细介绍

    目录 正文 1. 少量配置信息的情形 2. 多个配置信息的情形 3. 指定项目配置文件 4. 总结 正文 我们知道,在项目中,很多时候需要用到一些配置的信息,这些信息可能在测试环境和生产环境下会有不同的配置,后面根据实际业务情况有可能还会做修改,针对这种情况,我们不能将这些配置在代码中写死,最好就是写到配置文件中.比如可以把这些信息写到 application.yml 文件中. 1. 少量配置信息的情形 举个例子,在微服务架构中,最常见的就是某个服务需要调用其他服务来获取其提供的相关信息,那么在

  • SpringBoot bean依赖属性配置详细介绍

    创建实体类 @Data public class Cat { private String name; private Integer age; } @Data public class Mouse { private String name; private Integer age; } 配置文件application.yml使用固定格式为属性注入数据 cartoon:  cat:    name: "图多盖洛"    age: 5  mouse:    name: "泰菲

  • SpringBoot yml配置文件调用过程解析

    这篇文章主要介绍了SpringBoot yml配置文件调用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.yml配置文件书写格式 格式是在普通配置文件中以"."分割的属性名称,该为": "和换行. 例子: //普通格式 spring.datasource.driver-class-name=com.mysql.jdbc.Driver //yml格式 spring: datasource: driver-

  • JavaScript通过prototype给对象定义属性用法实例

    本文实例讲述了JavaScript通过prototype给对象定义属性的用法.分享给大家供大家参考.具体分析如下: 下面的JS代码定义了movie对象.在使用对象的过程中又通过prototype给对象添加了isComedy属性,调用的时候直接使用object.isComedy即可,非常方便. <script type="text/javascript"> <!-- function movieToString() { return("title: "

随机推荐