【持续更新】spring配置文件的标签

spring的配置文件在项目中占有举足轻重的位置。了解和合理地使用spring配置文件将会助力我们更好更快地开发项目,设计出优秀的程序。特开此文,持续更新日常使用中用到的常见配置。

话不多说,开始:

1.配置文件中自定义变量

使用下面的方法配置参数,这里就不区分properties还是yml的格式了。

init:
  SYSTEM_NAME: xxxxxx
  UPLOAD_INTERVAL_HB: 10
  UPLOAD_INTERVAL_FJ: 15

然后怎样在程序里读取呢?——配合spring标签

1.@Value标签配合@Configuration,一开始踩了坑由于没有加@Configuration怎么都读不到配置文件里的参数进行赋值,当仅使用@Value标签并且想赋参给static变量时会出现赋值不上去显示null的情况。

@Configuration
public class Jsondata {
    @Value("${init.system-name}")
    public static String SYSTEM_NAME;
    @Value("${init.FJ-upload-interval}")
    public static int UPLOAD_INTERVAL_FJ;
    @Value("${init.HB-upload-interval}")
    public static int UPLOAD_INTERVAL_HB;
}

2.@Component和@ConfigurationProperties(prefix = "init")以及 set/get方法。这种方式不需要在变量名头顶上加@Value标签了,但是这里也有容易出错的地方,在于prefix = "init"前缀要加,还有如果不给属性设置set/get方法也是无法赋值上的。

@Component
//@Validate 属性可以在项目启动时校检
@ConfigurationProperties(prefix = "init") //ignoreInvalidFields = false 未绑定上则启动失败
public class Jsondata {
    public static String SYSTEM_NAME;
    public static int UPLOAD_INTERVAL_FJ;
    public static int UPLOAD_INTERVAL_HB;

    public static String getSystemName() {
        return SYSTEM_NAME;
    }

    public static void setSystemName(String systemName) {
        SYSTEM_NAME = systemName;
    }

    public static int getUploadIntervalFj() {
        return UPLOAD_INTERVAL_FJ;
    }

    public static void setUploadIntervalFj(int uploadIntervalFj) {
        UPLOAD_INTERVAL_FJ = uploadIntervalFj;
    }

    public static int getUploadIntervalHb() {
        return UPLOAD_INTERVAL_HB;
    }

    public static void setUploadIntervalHb(int uploadIntervalHb) {
        UPLOAD_INTERVAL_HB = uploadIntervalHb;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值