工具类 的静态方法,使用yml自定义属性 springboot+yml配置版

hello啊,大家好,我是杨洋,最近呢,在整合OSS工具类,里面用到了一些静态方法,方法里面需要用自定义属性,这边还是蛮有意思的,废话不多说,开搞

首先配置自定义属性

yml自定义属性
这边呢,都是待会要使用的自定义的值

接着配置properties读取属性值

/**
 * @author yanglei
 * @desc oss自定义属性配置类
 * @date 2020/9/14
 */
@Component
@Data
public class OssConfiguration {

    @Value("${aLiYun.oss.endpoint}")
    private String endpoint;

    @Value("${aLiYun.oss.accessKeyId}")
    private String accessKeyId;

    @Value("${aLiYun.oss.accessKeySecret}")
    private String accessKeySecret;

    @Value("${aLiYun.oss.bucket}")
    private String bucket;

    @Value("${aLiYun.oss.path}")
    private String path;
}

注意:这边用了lombok,如果没引入的,去掉@Data,直接自己生产get set方法

最后就是工具类里面使用

/**
 1. @author yanglei
 2. @desc Oss工具类
 3. <p>
 4. 提供   上传功能:图片支持返回在线预览,文件不宜过大,过大后期分片上传
 5. 下载功能:简单下载
 6. @date 2020/9/14
 */
@Component
public class OssUtils {

    private static final Logger log = LoggerFactory.getLogger(OssUtils.class);

    /**图片的格式
     * 为这些格式的时候,返回预览的接口
     */
    private static final String FILE_SUFFIX_NAME = ".GIF|.JPG|.PNG";

    private static String endpoint;

    private static String accessKeyId;

    private static String accessKeySecret;

    private static String bucketName;

    private static String path;

    @Autowired
    private OssConfiguration ossConfiguration;

    @PostConstruct
    public void init() {
        endpoint = ossConfiguration.getEndpoint();
        accessKeyId = ossConfiguration.getAccessKeyId();
        accessKeySecret = ossConfiguration.getAccessKeySecret();
        bucketName = ossConfiguration.getBucket();
        path = ossConfiguration.getPath();
    }
  1. 注入你刚刚的OssConfiguration
  2. 在工具类写上对应的静态变量对应你的自定义属性
  3. 写一个init方法实现加载初始化
  4. 用上@PostConstruct方法,就是项目启动就会执行这个方法,你也可以实现ApplicationRunner,来初始化调用这个init方法
    注意:如果对第四点有疑问,可以参考我的这篇文章:初始化执行方法

总结

那么,到这里就讲好了,注意点也写出来了,最近琐事较多,更新慢了一点,尽量多更新吧

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页