配置文件:oss-config.yml application.yml
使用@Value 始终无法读取。
解决方法
1.修改oss-config.yml 文件名为 application-ossConfig.yml
2.application.yml文件添加
引入自定义的配置文件,刚开始自定义的配置文件名为application-oss-config.yml死活引不进去,现在想想可能是‘-’被spring认为是一个分隔符!!!!
3.自定义application-ossConfig.yml文件内容,类似这样,
自定义配置文件中,我引用了变量,例如这样:
前缀一定要加上,否则获取不到!!!!
4.配置读取类这样写
@Value 一定要写完整,否则获取不到!!!!
有人就会问了,为什么不用
ConfigurationProperties(prefix = "alibaba.cloud.oss.default-imag”),指定前缀,上述类中直接用@Value(“${pub-endpoint}”)??!妈的,劳资试了,读取不到,无奈之举!!!
估计还有人要说可以这样配:
爸爸也试了,不行,虽然开发环境正常,但是部署时肯定要配置文件外置啊,
这样配外置配置文件丫的根本不生效!!!!
最后一句:spring boot项目启动时,外置配置文件只认application.yml(properties),、、
什么bootstap.yml,乱七八糟自定异的配置文件,springboot 根本不鸟一下,除非你在application.properties(yml)显示引入进来!
还有,被引入application.yml 的自定义配置文件是允许这样的:
alibaba:
cloud:
oss:
default:
# #必要初始化属性
# #公网访问地域节点名
# pub-endpoint: oss-cn-hangzhou.aliyuncs.com
# #ECS内网访问节点名
# ecs-endpoint: oss-cn-hangzhou-internal.aliyuncs.com
#==============================
#此账号拥有该bucket及bucket文件下的所有控制权,包括但不限于文件上传、下载、删除等
#该账号不具有创建bucket创建权限
access-key-id: LTAIVCZ3BRMEvzjE
access-key-secret: u1YX1DfpEis7CjYfPpTxvWxDlDpBZf
# #不能添加httpL://字段,默认绑定端口为项目的启动端口,需要同步修改
# callback-domain: 36psci.natappfree.cc
#格式:详情查看controller中的文件回调接口
callback-url: ${alibaba.cloud.oss.default.callback-domain}${server.servlet.context-path}/file/upload-callback
#建立连接的超时时间(单位:毫秒)。默认为50000毫秒
connection-timeout: 10000
#可重试的请求失败后最大的重试次数。默认为3次
max-error-retry: 5
#=======以下为图片配置======
image:
#oss控制台,bucket级别自定义图片处理规则,如是否带水印、是否模糊等
custom-style-name: style/quanwei-logo
---
#所有非ali环境一律使用此配置
spring:
profiles: localhost
alibaba:
cloud:
oss:
default:
#必要初始化属性
#ECS内网访问地域节点名
endpoint: oss-cn-hangzhou.aliyuncs.com
#不能添加httpL://字段,默认绑定端口为项目的启动端口,需要同步修改
callback-domain: 36psci.natappfree.cc
---
#aliyun正式环境
spring:
profiles: GA
alibaba:
cloud:
oss:
default:
#必要初始化属性
#ECS内网访问地域节点名
endpoint: oss-cn-hangzhou-internal.aliyuncs.com
#不能添加httpL://字段,默认绑定端口为项目的启动端口,需要同步修改
callback-domain: alibababa
==================================================================================