Springboot如何获取yml、properties参数

 更新时间:2022年03月23日 11:15:03   作者:观海听涛丶  
这篇文章主要介绍了Springboot如何获取yml、properties参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何获取yml、properties参数

1、使用@Value()注解

1.1 配置数据

如:在properties.yml文件配置如下数据

message_zh: 张三
message_en: ergouzi

在controller中获取:

1.2 读取数据

读取自定义文件:须加注解

@PropertySource(value = {"classpath:config.yml","classpath:config.properties"})

读取application文件不需要加注解 

// 中文
@Value("${message_zh}")
private String message_zh;
// 英文
@Value("${message_en}")
private String message_en;
@RequestMapping(value = "/{id}")
public String index(HttpServletRequest request, @PathVariable Integer id){
    if (id == 1 ){
        request.setAttribute("info",message_zh);
    }else {
        request.setAttribute("info", message_en);
    }
    return "index";
}

2、使用 @component

@ConfigurationProperties(prefix = "user")
@PropertySource(value = "classpath:myConfig.properties")

首先在myConfig.properties或myConfig.yml中配置参数:

user.userName = '李二狗'
user.password = 'admin'

2.1 javabean

/**
 * 〈一句话功能简述〉<br> 
 * 〈yml或properties配置参数〉
 *
 * @author 丶Zh1Guo
 * @create 2018/11/21
 * @since 1.0.0
 */
@Component                                // 组件
@ConfigurationProperties(prefix = "user")              // 前缀
@PropertySource(value = "classpath:myConfig.properties")    // 自定义配置文件路径
public class properConfig {
    private String userName;   // 注意要和配置文件一致
    private String password;
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

2.2 controller

/**
 * 〈一句话功能简述〉<br> 
 * 〈〉
 *
 * @author 丶Zh1Guo
 * @create 2018/11/21
 * @since 1.0.0
 */
@restController
public class template {
    @Autowired
    properConfig config;
    @RequestMapping(value = "/config")
    public String config(){
        return config.getUserName();
    }
}

总结:

第一种方法适合只取某些数据

第二种方法适合取所有数据

yml和properties区别

yml:key:(空格)value

properties: key = value

配置文件读取yml自定义参数(亲测可用)

dict:
  js:
    url: D:\jsFile\

首先自定义一个参数

@Component
@Data
@ConfigurationProperties(prefix = "dict.js")
@PropertySource(value = "classpath:application-dev.yml")
public class PropertisParam {
    private String url;
}

利用平时@value 获取值

然后在所需要的调用的配置类里面注入PropertisParam,利用@PostConstruct初始化值

@Resource
private PropertisParam param;
private static String root=null;
@PostConstruct
public void init(){
    root = param.getUrl();
}

另一种方式   

@Data
@Component
@ConfigurationProperties(prefix = "spring")
public class LoginBody {
    private String appid;
    private String apiCode;
    private String userName;
}

基本写法就不解释了:主要讲一哈注入方式

类上面添加@component

private static LoginBody loginBody;
@Resource
public void init(LoginBody loginBody) {
    SecurityUtil.loginBody = loginBody;
}

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

相关文章

  • 详解用JWT对SpringCloud进行认证和鉴权

    详解用JWT对SpringCloud进行认证和鉴权

    这篇文章主要介绍了详解用JWT对SpringCloud进行认证和鉴权,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java基础入门 Swing中间容器的使用

    Java基础入门 Swing中间容器的使用

    这篇文章主要介绍了Java基础入门 Swing中间容器的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java客户端调用.NET的WebService实例

    Java客户端调用.NET的WebService实例

    下面小编就为大家带来一篇Java客户端调用.NET的WebService实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Java 基础 byte[]与各种数据类型互相转换的简单示例

    Java 基础 byte[]与各种数据类型互相转换的简单示例

    这篇文章主要介绍了Java 基础 byte[]与各种数据类型互相转换的简单示例的相关资料,这里对byte[]类型对long,int,double,float,short,cahr,object,string类型相互转换的实例,需要的朋友可以参考下
    2017-01-01
  • Spring Boot集成Ehcache缓存解决方式

    Spring Boot集成Ehcache缓存解决方式

    在本篇文章里小编给大家整理的是关于Spring Boot集成Ehcache缓存解决方式,需要的朋友们可以学习下。
    2019-12-12
  • 利用Java的MyBatis框架获取MySQL中插入记录时的自增主键

    利用Java的MyBatis框架获取MySQL中插入记录时的自增主键

    这篇文章主要介绍了利用Java的MyBatis框架获取MySQL中插入记录的自增长字段值,其中大家可以看到MyBatis支持普通SQL语句所带来的遍历,需要的朋友可以参考下
    2016-06-06
  • Spring Cloud中配置客户端示例详解

    Spring Cloud中配置客户端示例详解

    这篇文章主要介绍了Spring Cloud中配置客户端的相关知识,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Java中try catch的使用和如何抛出异常问题

    Java中try catch的使用和如何抛出异常问题

    这篇文章主要介绍了Java中try catch的使用和如何抛出异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 基于java实现的ECC加密算法示例

    基于java实现的ECC加密算法示例

    这篇文章主要介绍了基于java实现的ECC加密算法,简单说明了ECC算法的概念、原理,并结合实例形式分析了java实现ECC加密算法的定义与使用技巧,需要的朋友可以参考下
    2017-08-08
  • 浅谈BeanPostProcessor加载次序及其对Bean造成的影响分析

    浅谈BeanPostProcessor加载次序及其对Bean造成的影响分析

    这篇文章主要介绍了浅谈BeanPostProcessor加载次序及其对Bean造成的影响分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论