在static方法中使用yml文件的属性值的引用

本文通过代码示例展示如何在Java的静态方法中引用并使用YAML(YML)配置文件的属性值,介绍了一个公司封装的配置文件工具类的使用。
摘要由CSDN通过智能技术生成

大家直接看代码吧

private static Properties props;

    /**
     * 密码解密
     *
     * @param password
     */
    
    public static String passwordDecryption(String password) {
   

        props = new Properties();
        InputStream in = null;

        in = PassWordUtil.class.getClassLoader().
                getResourceAsStream("application-dev.yml");
        try {
   
            props.load(in);

        } catch (IOException e) {
   
            e.printStackTrace();
        }
        try {
   
            String privateKeyString = props.getProperty("privateKeyString");
            String loginPasswordTimestampIndate = props.getProperty("loginPasswordTimestampIndate");
         	System.out.println("privateKeyString:"+privateKeyString );
          	System.out.println("loginPasswordTimestampIndate :"+loginPasswordTimestampIndate );
        } catch (Exception e) {
   
            e.printStackTrace();
            return null;
        }

        return password;
    }

附录一个公司封装的一个获取配置文件中的属性值的一个工具类

package com.sz.common.utils;
import cn.hutool.core.exceptions.UtilException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.ServletContext;
在Spring Boot项目,通常不建议为读取`application.yml`配置文件的变量使用`static`关键字。Spring Boot使用`@ConfigurationProperties`注解或`@Value`注解来绑定配置文件属性到bean的属性上。当使用`@Value`注解时,通常会注入一个非静态属性,因为`@Value`通常使用依赖注入的方式将属性注入到对象。 如果你想要将读取到的配置作为静态字段,可以考虑使用`@ConfigurationProperties`结合`@Bean`注解在配置创建一个静态字段的bean,但是这并不是一个推荐的做法,因为这会降低Spring的灵活性和管理能力。更好的做法是使用非静态字段,并且让Spring管理这些对象的生命周期。 下面是一个使用`@Value`注解不带`static`关键字的典型例子: ```java @Configuration public class AppConfig { @Value("${app.name}") private String appName; // getter 和 setter public String getAppName() { return appName; } public void setAppName(String appName) { this.appName = appName; } } ``` 而使用`@ConfigurationProperties`的非静态字段的例子如下: ```java @ConfigurationProperties(prefix = "app") public class AppProperties { private String name; // getter 和 setter public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` 在这种方式,`AppProperties`类的实例可以通过`@EnableConfigurationProperties(AppProperties.class)`注解在配置启用,或者在Spring Boot应用自动启用(如果`spring-processor`在classpath)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小七会喷火

小七想要bi

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值