栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot优雅获取自定义yml文件内容值

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot优雅获取自定义yml文件内容值

springboot优雅获取自定义yml文件内容值
  • @PropertySource
  • @Value
  • 示例代码

@PropertySource

功能:@PropertySource注解用于指定资源文件读取的位置,它不仅能读取properties文件,也能读取xml文件,并且通过YAML解析器,配合自定义PropertySourceFactory实现解析YAML文件。

源码:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@documented
@Repeatable(PropertySources.class)
public @interface PropertySource {

	
	String name() default "";

	
	String[] value();

	
	boolean ignoreResourceNotFound() default false;

	
	String encoding() default "";

	
	Class factory() default PropertySourceFactory.class;

}
@Value

功能:该注解的作用是将我们配置文件的属性读出来,有@Value(“${}”)和@Value(“#{}”)两种方式。

源码:

@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@documented
public @interface Value {

	
	String value();

}
示例代码

思路: 将自定义的aliyun.yml配置文件信息获取到spring中,便于源站url替换成cdn站点,防止资源盗链。

  1. 配置aliyun.yml
aliyun:
	cdn:
		url: https://cdn.aliyun.com
		privateKey: aliyuncdnkey
  1. 创建ALiYunCdnConfig类
@Component
@Getter
@Setter
@PropertySource("classpath:aliyun.yml")
public class ALiYunCdnConfig {

    @Value("${aliyun.cdn.url}")
    private String url;

    @Value("${aliyun.cdn.privateKey}")
    private String privateKey;
    
}
  1. 测试获取

编写相应的controller,依赖注入该ALiYunCdnConfig,对需要的源站url进行操作后返回加密后的cdn。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号