springboot如何在Java中获取yml中的配置

时间:2024-03-18 12:32:57

1 yml内容
springboot如何在Java中获取yml中的配置
2 新建Java配置类

@Configuration
@ConfigurationProperties(prefix = "ftp")
@Data
public class FtpConfig {
    /**
     * 静态资源展现的连接
     */
    private String showUrl;

    /**
     * sftp服务器存储路径
     */
    private String  serverFilePath;

    /**
     * sftp服务器IP
     */
    private String ip;

    /**
     * sftp用户名
     */
    private String userName;

    /**
     * sftp用户密码
     */
    private String password;

    /**
     * sftp端口
     */
    private int port;

    /**
     * 上传文件大小限制,单位B
     */
    private int maxFileSize;
}

3 程序中使用

private UploadFileResp upload(MultipartFile file) {
        try {
            // 文件名
            String originFileName = file.getOriginalFilename();
            String[] fNames = originFileName.split("\\.");
            String suffix = fNames.length >= 1 ? fNames[fNames.length - 1] : "";
            String fileName = TimeUtil.getDateString(new Date(), TimeUtil.FORMAT_YMDHMS) + "." + suffix;
            // 文件字节码
            byte[] bytes = null;
            bytes = file.getBytes();
            Long fileSize = file.getSize();
            if (fileSize > ftpConfig.getMaxFileSize()) {
                return new UploadFileResp(false, "上传文件太大,已超过" + ftpConfig.getMaxFileSize() / 1024 / 1024 + "M限制");
            }
            SftpUtil ftpUtil = new SftpUtil(ftpConfig.getIp(),ftpConfig.getPort(), ftpConfig.getUserName(), ftpConfig.getPassword(), ftpConfig.getServerFilePath()+ File.separator + TimeUtil.getDateString(new Date(), TimeUtil.FORMAT_YMD));
            ftpUtil.upLoadFile(fileName, bytes);
            return new UploadFileResp(true, ftpConfig.getShowUrl() + File.separator + fileName);
        } catch (Exception e) {
            e.printStackTrace();
            return new UploadFileResp(false, "失败");
        }
    }