JavaWeb笔记整理03——yml配置文件

目录


1.配置文件对比

2.yml基本语法约定

3.yml数据格式

3.1对象/map集合

3.2数组/List/Set集合

3.3日期

4.yml配置案例

5.SpringBoot读取YML

5.1 Value注解

5.2 @ConfigurationProperties

6.@ConfigurationProperties 与 @Value


1.配置文件对比

2.yml基本语法约定

注意标红

3.yml数据格式

3.1对象/map集合

行内写法:user: {name: zhangsan,age: 20,password:123456}

3.2数组/List/Set集合

行内写法:hobby: [java,game,sport]

3.3日期

日期:date: 2005/07/08

4.yml配置案例

5.SpringBoot读取YML

5.1 Value注解

注意使用此注解只能获取简单类型的值(8种基本数据类型及其包装类,String,Date)

@Value 注解通常用于外部配置的属性注入,具体用法为: @Value("${配置文件中的key}"

注意:加了@Value的类必须是交由IOC容器管理的

5.2 @ConfigurationProperties

yml配置

aliyun:
  oss:
    endpoint: https://oss-cn-beijing.aliyuncs.com
    accessKeyId: LTAI5tEVSmHqVHcNMFrL5aMp
    accessKeySecret: HKKaaZAYwbUlHdsGSCpDklcMJom0rU
    bucketName: web-mikey

​ 在类上添加注解@Component 和@ConfigurationProperties(prefix = “配置前缀”)

@Data
@Component
@ConfigurationProperties(prefix = "aliyun.oss")
public class AliOSSProperties {
    private String endpoint;
    private String accessKeyId;
    private String accessKeySecret;
    private String bucketName;
}

从IOC容器中获取对象 需要注入了!

@Component
public class AliOSSUtils {

    @Autowired
    private AliOSSProperties aliOSSProperties;

    /**
     * 实现上传图片到OSS
     */
    public String upload(MultipartFile file) throws IOException {

        //获取阿里云OSS参数
        String endpoint = aliOSSProperties.getEndpoint();
        String accessKeyId = aliOSSProperties.getAccessKeyId();
        String accessKeySecret = aliOSSProperties.getAccessKeySecret();
        String bucketName = aliOSSProperties.getBucketName();

注意:要求对应的属性要有set/get方法(@Data)并且key要和成员变量名一致才可以对应的上。

6.@ConfigurationProperties 与 @Value

相同点

都是用来注入外部配置的属性的

不同点

@Value注解只能一个一个的进行外部属性的注入。

@ConfigurationProperties可以批量的将外部的属性配置注入到bean对象的属性中。

简单来说,如果你需要一个简单、直观、易于编辑的配置文件,YML是个不错的选择。如果你需要严格的数据结构或者与特定系统兼容,可能会选择XML。而properties则适用于非常简单的配置需求。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值