当前位置:   article > 正文

SpringBoot加载自定义yml中的配置参数_springboot配置bean自定义yml配置文件

springboot配置bean自定义yml配置文件
需要读取的yml配置数据

在这里插入图片描述

设置一个专用类 YmlConfigBean.java
package com;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;

/**
 * 配置文件参数读取
 */
@Component
public class YmlConfigBean {
    public static String GENERATE_CONFIG_BASE;

    public static String GENERATE_FILE_PATH;

    public static List<String> GENERATE_PARAM_NAME;

    @Value("${generate.config.base}")
    private void setGenerateConfigBase(String key) {
        GENERATE_CONFIG_BASE = key;
    }

    @Value("${generate.file.path}")
    private void setGenerateFilePath(String key) {
        GENERATE_FILE_PATH = key;
    }

    @Value("#{'${generate.param.name}'.split(',')}")
    private void setGenerateParamName(List<String> key) {
        GENERATE_PARAM_NAME = key;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
近期碰到了代码静态扫描,说上面的不合规,那么来改造一下合规的写法。

YmlConfigBean仍然保留,只不过不使用Value注解

package com;

import org.springframework.stereotype.Component;
import java.util.List;

/**
 * 配置文件参数读取
 */
@Component
public class YmlConfigBean {

    public static volatile String GENERATE_CONFIG_BASE;

    public static volatile String GENERATE_FILE_PATH;

    public static volatile List<String> GENERATE_PARAM_NAME;

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

新建一个set方法

package com;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;

/**
 * 配置文件参数读取
 */
@Component
public class YmlConfigBeanSet {

    @Value("${generate.config.base}")
    private void setGenerateConfigBase(String key) {
        GENERATE_CONFIG_BASE = key;
    }

    @Value("${generate.file.path}")
    private void setGenerateFilePath(String key) {
        GENERATE_FILE_PATH = key;
    }

    @Value("#{'${generate.param.name}'.split(',')}")
    private void setGenerateParamName(List<String> key) {
        GENERATE_PARAM_NAME = key;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

采用上述方式修改,原使用Bean的方法不需任何改动,可以通过代码扫描。

说明:

添加@Component注解,将类YmlConfigBean.java交给Spring管理,
这样便可以将YmlConfigBean中的静态常量作为系统全局常量使用.

OK,整理到这吧!

如有不正确之处,还望指正!书写不易,觉得有帮助就点个赞吧!☺☺☺

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/326225
推荐阅读
相关标签
  

闽ICP备14008679号