后端之路——最规范、便捷的spring boot工程配置

一、参数配置化

上一篇我们学了阿里云OSS的使用,那么我们为了方便使用OSS来上传文件,就创建了一个【util】类,里面有一个【AliOSSUtils】类,虽然本人觉得没啥不方便的,但是黑马视频又说这样还是存在不便维护和管理问题,我一时也还是想不明白

但是想了一下确实,因为我们只是学了简单文件的OSS上传,但其实还有很多复杂的比如:

那么我们肯定要对应不同的上传,再生成对应很多的阿里云OSS上传的【工具类】,那么每一个类里都得配置一遍基本配置信息,那么加入有一天这个accessKey被我禁用了,或者换了一个bucketName,那就还得一个一个到这些类里改配置,很不方便

那么更好的的办法就是在我们之前连接数据库的那个【application.properties】文件里配置好全局配置,然后在要用的地方引用一下

实现这个,就要用到【@Value( " ${配置文件中的Key} " )】注解

那么首先去【application.properties】文件配置好,注意【application.properties】的代码里其实都默认是字符串,所以不需要带双引号""和分号;

然后回到【AliOSSUtils】类,把原配置的具体信息全去掉,在上面加【@Value( " ${配置文件中的Key} " )】注解

二、更简便、结构清晰的配置文件:yml

虽然在【application.properties】文件里配置的文件够方便了,but!他不好看

【application.properties】文件的配置是【Key=Value】的形式,但是没什么层级结构

那么还有一种配置文件叫:【application.yml】,或者【application.yaml】,这两是一样的

对应关系:

注意:!!!yml/yaml的代码里每个属性前的【缩进】绝对不能漏,然后冒号“:”一定要有空格,然后才是值

另外yml还可以配置全局的一些对象、集合变量

要用的时候就搭配【@Value( " ${配置文件中的Key} " )】注解

废话不多说,那现在就去在【resource】目录下创建一个【application.yml】文件

然后把你【application.properties】对应的配置写到【application.yml】

然后删掉【application.properties】就行了

三、@ConfigurationProperrties( prefix = "前缀" )

那么有的人还是觉得之前【@Value( ${...} )】的写法太繁琐(其实我觉得这样就够简单了),然后这里就又有了一个新的注解方法【@ConfigurationProperrties( prefix = "前缀" )】

总体逻辑就是:

在用一个【工具类】封装这几个变量

然后用【@ConfigurationProperrties( prefix = "前缀" )】注解跟【application.yml】配置文件绑定上

最后在要用的地方调用这个【工具类】即可(这个工具类要用@Component放入IOC容器,共别的地方用@Autowire注解来使用)

封装【工具类】

外部使用这个【工具类】

在之前阿里云文件上传的工具类里,注释掉之前的那个配置

然后用【@Autowire】注入依赖,使用【工具类】

在方法里用【工具类】的getter方法获得变量值

有的idea这样弄完会有这样的警告,(我的没有),不理他也行,要是觉得不舒服,就把下面的依赖配置到【pom.xml】文件里

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

可做可不做

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值