SpringBoot中的yml文件中读取自定义配置信息

开发中遇到的问题,百度的答案我都没有找到,去找大佬获取到的经验总结,这只是其中的一种方法,如果其他大佬有新的方法,可以分享分享。

一、非静态属性

1.1 yml文件

自定义配置信息,通过我们编写的代码读取。

image:
    path: E:\image  #存储文件的磁盘目录
    server: http://localhost:8082/image/ #文件访问基础路径

1.2 类

非静态属性中@Value生效

ps: 不是在控制层中拥有@Controller注解,说明没有把该类放进IOC容器中,启动类时会找不到@Value,在其他类中可以用@Component注解,将该类注册到IOC容器中,使得程序运行时,能够找得到。

@Value("${image.path}")
private String path;  // path = E:\image
//从配置文件中读取公共配置信息
@Value("${image.server}")
private String server;

二、 静态属性

2.1 yml文件

# 自定义二维码配置信息
qrcode:
  width: 600 # 二维码宽度
  height: 600 # 二维码高度

2.2 类

静态属性中@Value不生效

ps:使用@ConfigurationProperties注解来获取application.yml配置文件中的第一个属性名,接着只需要属性名和二级属性相同即可获取到。

// 想要在工具类的静态属性获取到application.yml配置文件内容的配置信息
// 1. 先加上注解
@Component // 注册到IOC容器
@ConfigurationProperties(prefix = "qrcode") // 获取到配置文件的属性
public class QRcodeUtil {
// 通过读取application.yml配置文件内容中的配置信息
//    @Value("${qrcode.width}")  // 再静态属性中@Value不生效
private static int width; //图形宽
 //    @Value("${qrcode.height}")
private static int height; //图形高
 
    // 3. 需要给属性值手动设置set方法
public void setWidth(int width) {
   QRcodeUtil.width = width;
}

public void setHeight(int height) {
   QRcodeUtil.height = height;
}

记录每一个学习瞬间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在Spring Boot,可以使用YAML(YAML Ain't Markup Language)文件来进行配置。常见的YAML文件名为application.yml或application.yaml。 为了实现自定义的YAML文件读取,可以按照以下步骤操作: 1. 在src/main/resources目录下创建一个新的YAML文件,例如custom.yml,用于存放自定义配置项。 2. 在Spring Boot的配置,使用@ConfigurationProperties注解,并指定prefix属性自定义配置项前缀。 例如,如果自定义配置项前缀为custom,可以将配置类的注解写成如下形式: ```java @Configuration @ConfigurationProperties(prefix = "custom") public class CustomConfig { private String name; private int age; // 其他属性及对应的getter和setter方法 } ``` 3. 在类定义相应的属性,并为每个属性编写getter和setter方法。 4. 在配置类所在的包创建一个名为CustomConfigurator的类,用于在启动时将自定义配置加载到Spring容器。 ```java @Component public class CustomConfigurator implements CommandLineRunner { @Autowired private CustomConfig customConfig; @Override public void run(String... args) { // 在Spring启动时执行的逻辑 // 可以在这个方法获取和使用自定义配置项 String name = customConfig.getName(); int age = customConfig.getAge(); // 其他逻辑 } } ``` 5. 在application.yml添加以下内容,指定自定义配置文件的路径: ```yaml spring: profiles: include: custom ``` 这样,Spring Boot会加载application.yml以及custom.yml配置,并将其注入到CustomConfig配置类对应的属性。 通过以上步骤,就实现了自定义的YAML文件读取。在启动应用时,Spring Boot会自动加载并注入自定义配置项,可以在代码直接使用。 需要注意的是,自定义配置项的前缀要与custom.yml文件的层级结构对应,而且类名和属性名要与custom.yml文件的字段名保持一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野生的狒狒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值