• SpringBoot配置文件


     一、参数配置化

    1.properties配置

    1. #阿里云oss配置
    2. aliyun.oss.endpoint=https://oss-cn-beijing.aliyuncs.com
    3. aliyun.oss.bucketName=hzleadnews-01

    2.@Value属性注入

    1. @Value ( "${aliyun.oss.endpoint}" )
    2. private String endpoint ;
    3. @Value ( "${aliyun.oss.bucketName}" )
    4. private String bucketName ;

    二、yml配置文件

    1.yml与其他配置文件比较

     2.yml基本语法

    3.spring-boot中的yml配置

    1. #数据库连接信息
    2. spring:
    3. datasource:
    4. driver-class-name: com.mysql.cj.jdbc.Driver
    5. url: jdbc:mysql://localhost:3306/tlias
    6. username: lyx
    7. password: 123456
    8. #配置文件上传
    9. servlet:
    10. multipart:
    11. max-file-size: 10MB
    12. max-request-size: 100MB
    13. #Mybatis配置
    14. mybatis:
    15. configuration:
    16. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    17. map-underscore-to-camel-case: true
    18. #阿里云OSS配置
    19. aliyun:
    20. oss:
    21. endpoint: https://oss-cn-beijing.aliyuncs.com
    22. bucketName: hzleadnews-01

    三、@ConfigurationProperties属性注入

            自动注入属性值

    @ConfigurationProperties 自动注入配置文件中的前缀

     
    

    1.AliOSSPropertis实体类

    1. import lombok.Data;
    2. import org.springframework.boot.context.properties.ConfigurationProperties;
    3. import org.springframework.stereotype.Component;
    4. @Data
    5. @Component
    6. @ConfigurationProperties(prefix ="aliyun.oss")
    7. public class AliOSSPropertis {
    8. private String endpoint ;
    9. private String bucketName ;
    10. }

    2.AliOSSUtils工具类

    1. import com.aliyun.oss.OSS;
    2. import com.aliyun.oss.OSSClientBuilder;
    3. import com.aliyun.oss.common.auth.CredentialsProviderFactory;
    4. import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
    5. import com.aliyuncs.exceptions.ClientException;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.beans.factory.annotation.Value;
    8. import org.springframework.boot.context.properties.ConfigurationProperties;
    9. import org.springframework.stereotype.Component;
    10. import org.springframework.web.multipart.MultipartFile;
    11. import java.io.*;
    12. import java.util.UUID;
    13. /**
    14. * 阿里云 OSS 工具类
    15. */
    16. public class AliOSSUtils {
    17. // @Value ( "${aliyun.oss.endpoint}" )
    18. // private String endpoint ;
    19. // @Value ( "${aliyun.oss.bucketName}" )
    20. // private String bucketName ;
    21. @Autowired
    22. private AliOSSPropertis aliOSSPropertis;
    23. /**
    24. * 实现上传图片到OSS
    25. */
    26. public String upload(MultipartFile file) throws Exception {
    27. //获取OSS参数
    28. String endpoint = aliOSSPropertis.getEndpoint ();
    29. String bucketName = aliOSSPropertis.getBucketName ();
    30. EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
    31. // 获取上传的文件的输入流
    32. InputStream inputStream = file.getInputStream();
    33. // 避免文件覆盖
    34. String originalFilename = file.getOriginalFilename();
    35. String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));
    36. //上传文件到 OSS
    37. OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
    38. ossClient.putObject(bucketName, fileName, inputStream);
    39. //文件访问路径
    40. String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;
    41. // 关闭ossClient
    42. ossClient.shutdown();
    43. return url;// 把上传到oss的路径返回
    44. }
    45. }

    3.解决警告

    1.要引入的依赖

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-configuration-processorartifactId>
    4. dependency>

    2.引入依赖后配置yml文件时会有提示

    4.与@Value属性注入的区别

  • 相关阅读:
    分享一个完全免费的GPT4站点,gpts也可以用
    JS-Ajax
    工欲善其事,必先利其器,这5款利器推荐你
    音频——硬件拓扑
    mac apktool安装
    使用libswresample库实现音频重采样
    如何低成本快速搭建企业知识库?
    全新物联网数据集成 :Flow 可视化编排 & 双向数据桥接
    OncoGPT1:肿瘤学领域大模型
    移知丨一个芯片工程师的ADC学习笔记 (一)
  • 原文地址:https://blog.csdn.net/m0_64703222/article/details/133761471