static静态方法获取yml配置

旧城等待, 2022-05-16 05:18 551阅读 0赞

java普通类获取yml文件的配置很简单,网上有很多类似的例子。比如:

  1. @Value("${zzp2.name}")
  2. private String name2;
  3. @Value("${zzp2.girl.age}")
  4. private Integer girlAge;
  5. @Value("${zzp2.girl.name}")
  6. private String girlName;

但是我们经常会写util等类,里面的方法都是静态static的,这种情况下我们就没法像普通方法一样获取到yml的配置了,此时我们应该怎么获取呢?

1.在yml里面配置想要参数

  1. user:
  2. name: lockie.zou

2.新建一个UserUtil来获取配置的名字

  1. import org.springframework.beans.factory.annotation.Value;
  2. import org.springframework.stereotype.Component;
  3. import javax.annotation.PostConstruct;
  4. /**
  5. * 类或方法的功能描述 : 用户工具类
  6. *
  7. * @author: logan.zou
  8. * @date: 2018-08-16 11:20
  9. */
  10. @Component
  11. public class UserUtil {
  12. private static String userName;
  13. @Value("${user.name}")
  14. private String name;
  15. @PostConstruct
  16. public void getApiToken() {
  17. userName = this.name;
  18. }
  19. public static String getUserName() {
  20. // lockie.zou
  21. return userName;
  22. }
  23. }

注意事项:

首选要在util里建一个static的变量,然后使用@Value获取yml配置文件的值。最后关键就是使用 @PostConstruct 熟悉将yml中配置的值赋给本地的变量,这样后面的静态方法就能使用了。

注意util类使用了 @Component 属性注解了说明是需要在启动类 Application 启动的时候加载的,所以我们本地写一个方法调用 util 的时候是获取不到 name的。

发表评论

表情:
评论列表 (有 0 条评论,551人围观)

还没有评论,来说两句吧...

相关阅读