@Value如何获取yml和properties配置参数

@Value获取yml和properties配置参数

Yml:

#定时任务配置
application:
    xxl:
      job:
        enabled: true
        admin:
          addresses: http:///yusp-job-admin/  #127.0.0.1:8080指网关ip:port,yusp-job-admin为调度中心服务名称。通过网关,注册到微服务的/api/server接口,完成注册动作
        executor:
          appname: af_job   #执行器名称,要求务必唯一
          ip: 10.21.126.237  #执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP
          port: 9097          #调度中心给微服务发送任务,通过此端口发送指令
          logpath: D:/temp    #执行器日志文件路径
          logretentiondays: 3  # 本地日志保存天数,-1为永远保存
package com.xxljob.config;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import cn.com.yusys.yusp.commons.job.core.executor.XxlJobExecutor;
@Configuration
@ConditionalOnProperty(name = "application.xxl.job.enabled", havingValue = "true", matchIfMissing = false)
public class XxlJobAutoConfiguration {
    private Logger logger = LoggerFactory.getLogger(XxlJobAutoConfiguration.class);
    @Value("${application.xxl.job.admin.addresses}")
    private String adminAddresses;
    @Value("${application.xxl.job.executor.appname}")
    private String appName;
    @Value("${application.xxl.job.executor.ip}")
    private String ip;
    @Value("${application.xxl.job.executor.port}")
    private int port;
    @Value("${application.xxl.job.executor.logpath}")
    private String logPath;
    @Value("${application.xxl.job.executor.logretentiondays}")
    private int logRetentionDays;
    public XxlJobAutoConfiguration() {
    }

    @Bean(initMethod = "start", destroyMethod = "destroy")
    public XxlJobExecutor xxlJobExecutor() throws IOException {
        logger.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobExecutor xxlJobExecutor = new XxlJobExecutor();
        xxlJobExecutor.setAdminAddresses(adminAddresses);
        xxlJobExecutor.setAppName(appName);
        xxlJobExecutor.setIp(ip);
        xxlJobExecutor.setPort(port);
        xxlJobExecutor.setLogPath(logPath);
        xxlJobExecutor.setLogRetentionDays(logRetentionDays);
        return xxlJobExecutor;
    }
}

Properties:

赋值:

@Value(“true”) 直接赋值

@value注解获取yml文件中的值问题

在类中使用@Value注解获取yml配置文件中的值时,需要注意:

1、yml文件中,当值为0000

这种类型的值时,需要用双引号将值引起来。

比如:

错误:key=0000

正确:key=“0000”

如果不使用双引号的话,在使用@value注解时,得到的值是0,而不是0000

2、使用@Value注解得到的是null

需要使用@Autowired进行注入,对应类需要加上@Service

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解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和properties配置文件的内容

    (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @ConfigurationProperties 注解 --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-configuration-processor --> <dependency> <groupId>org.springframework.boot</groupId>

  • 详解application.properties和application.yml文件的区别

    在springboot框架里进行项目开始时,我们在resource文件夹里可以存放配置文件,而格式可以有两种,properties和yml,前者是扁平的k/v格式,而后者是yml的树型结构,我们建议使用后者,因为它的可读性更强,如果现有是properties,也可以转换成yml格式,我们把properies里按.去拆分即可. 一般上来说,当我们创建一个SpringBoot项目时,IDE会默认帮我们创建一个application.properties配置文件.有些朋友习惯把.properties文

  • SpringBoot读取properties或者application.yml配置文件中的数据

    读取application文件 在application.yml或者properties文件中添加: user.address=china user.company=demo user.name=让我康康 1.使用@Value注解读取 直接 代码如下: package im.homeapi.controller; import org.springframework.beans.factory.annotation.Value; import org.omg.CORBA.PUBLIC_MEMBE

  • @Value如何获取yml和properties配置参数

    @Value获取yml和properties配置参数 Yml: #定时任务配置 application: xxl: job: enabled: true admin: addresses: http:///yusp-job-admin/ #127.0.0.1:8080指网关ip:port,yusp-job-admin为调度中心服务名称.通过网关,注册到微服务的/api/server接口,完成注册动作 executor: appname: af_job #执行器名称,要求务必唯一 ip: 10.2

  • Springboot如何获取yml、properties参数

    目录 如何获取yml.properties参数 1.使用@Value()注解 2.使用 @component 配置文件读取yml自定义参数(亲测可用) 首先自定义一个参数 利用平时@value 获取值 另一种方式 类上面添加@component 如何获取yml.properties参数 1.使用@Value()注解 1.1 配置数据 如:在properties.yml文件配置如下数据 message_zh: 张三 message_en: ergouzi 在controller中获取: 1.2 读

  • springboot如何获取yml文件的自定义参数

    目录 如何获取yml的自定义参数 需求 实现方式 自定义yml文件,获取配置参数 操作yml文件依赖 mqtt链接参数,及读取yml文件工具 MqttParams.yml 文件位置 如何获取yml的自定义参数 需求 通过yml文件配置参数,在需要的地方获取并使用参数 实现方式 方式一: 先上要获取的配置参数,在用到参数的位置获取yml文件里面配好的值,如果就一两个地方用到,那直接写死也不是不行,但是最好通过配置文件的方式,万一参数变了,只要改配置文件就行,业务代码不用动 yml配置参数: Con

  • Java如何使用ConfigurationProperties获取yml中的配置

    目录 使用ConfigurationProperties获取yml的配置 使用方法 @ConfigurationProperties获取不到配置文件属性值问题 原因就是 使用ConfigurationProperties获取yml的配置 我们在开发过程中,会经常遇到需要自定义配置的场景,比如配置一个ip,一个地址等,并将其写入到yml文件中,在项目中使用@Value("${xxxx.xxxx}")来获取自定义的配置,其实是这样是有些笨重的,每定义一个配置,都需要写一个@Value来获取

  • Spring Boot使用yml格式进行配置的方法

    1.yml 格式 现在大家发现,在springboot里还是要用到配置文件的. 除了使用.properties外,springboot还支持 yml格式. 个人觉得yml格式的可读性和..properties比起来差不多,有时候还没有不如properties 看起来那么规整. 但是考虑到很多springboot项目会使用yml格式,还是简单讲讲,主要目的还是为了读懂其他人的项目. 2.同样内容,不同写法 如图所示,左边是application.properties的写法,右边是applicati

  • 一个通过script自定义属性传递配置参数的方法

    刚刚开始正式的职业生涯,最近几天在给公司做统一的头部js,想到了一个通过script自定义属性传递配置参数的方法. 有时候我们编写了一个js插件,要使用该插件需要先在html中引入该插件Js,然后再添加一个script标签,在里面调用.如一个图片切换的插件.其代码大致如下: $.fn.picSwitch = function(option){ //这里是图片切换的代码 } 再引入了该插件后,需要再在另外的script标签内加入调用代码 $('#pic').picSwitch({ 'speed'

  • springboot代码,注解配置获取yml,properties文件的map即键值对

    目录 注解配置获取yml,properties文件map即键值对 yml获取自定义键值对 properties 获取自定义键值对 properties配置应用,为什么需要使用properties文件 注解配置获取yml,properties文件map即键值对 yml获取自定义键值对 yml中的键值对 test:   map:     key1: value1     key2: value2     key3: value3 pom中的依赖配置 <dependency>     <gro

  • Springboot 如何指定获取自己写的配置properties文件的值

    获取yml的可以参考这篇: Springboot 指定获取出 yml文件里面的配置值 www.jb51.net/article/217901.htm 直接进入正题: 先创建一个 配置文件test_config.properties: test.number=123456789 接下来获取test.number对应的值 这里我们采取最直接的方式(也可以通过注解获取),特意准备了个工具类 PropertiesUtil.java : package com.test.webflux.util; imp

  • SpringBoot之@Value获取application.properties配置无效的解决

    目录 @Value获取application.properties配置无效问题 @Value获取application.properties中的配置取值为Null 解决方法 正确做法 总结 @Value获取application.properties配置无效问题 无效的原因主要是要注意@Value使用的注意事项: 1.不能作用于静态变量(static): 2.不能作用于常量(final); 3.不能在非注册的类中使用(需使用@Componet.@Configuration等): 4.使用有这个属

随机推荐