SpringBoot类中获取application.yml中配置的敏感数据方法

SpringBoot项目代码在测试那报出硬编码敏感数据的安全隐患,主要是文件服务器的连接敏感信息和路径的地址,先总结以下非静态的和静态的属性获取application.yml配置的数据

1、首先在application.yml中配置需要的敏感数据

//#上传文件到文件服务器
fileServer:
  userName: r***
  passWord: 1*****
  hostName: 172.**.**.**
  port: 2*
  path: /h**/**/***/a***/w***/d***
  header: http://外网访问ip/docunmet/

//#读取文件路径
readFile:
  localAddrPrev: D://***//
  localAddrNext: //
  serverAddrPrev: /u**/j***/f****/
  serverAddrNext: /

2、配置Util类(主要是为静态属性获取配置的数据)

public class PropertyUtil {
    @Autowired
    private Environment env;

    //ftp服务器ip地址
    public static String FTP_ADDRESS;
    //端口号
    public static int FTP_PORT;
    //用户名
    public static String FTP_USERNAME ;
    //密码
    public static String FTP_PASSWORD;
    
    @PostConstruct
    public void readConfig() {
        FTP_ADDRESS = env.getProperty("fileServer.hostName");
        FTP_PORT = Integer.parseInt(env.getProperty("fileServer.port"));
        FTP_USERNAME = env.getProperty("fileServer.userName");
        FTP_PASSWORD = env.getProperty("fileServer.passWord");
    }
}
在这里插入代码片

3、非静态属性获取配置application的数据值

@Service
public class UploadServeImpl  implements UploadService {

    @Value("${readFile.localAddrPrev}")
    private String localAddrPrev; 

    @Value("${readFile.localAddrNext}")
    private String localAddrNext; 
    ...
    }

4、静态属性获取配置application的数据值

public class UploadUtil {//jsch包支持ssh连接到服务器

    //ftp服务器ip地址
    //@Value("${fileServer.hostName}")
    private static String FTP_ADDRESS = PropertyUtil.FTP_ADDRESS;
    //端口号
    //@Value("${fileServer.port}")
    private static int FTP_PORT = PropertyUtil.FTP_PORT;
    //用户名
    //@Value("${fileServer.userName}")
    private static String FTP_USERNAME =PropertyUtil.FTP_USERNAME;
    //密码
    //@Value("${fileServer.passWord}")
    private static String FTP_PASSWORD =PropertyUtil.FTP_PASSWORD;
    ...
    }

总结:普通属性获取application中的数据用@Value即可;对于static修饰的属性通过PropertyUtil类从Environment获取配置的数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值