首页 > 其他分享 >springboot高级属性设置

springboot高级属性设置

时间:2023-02-11 14:57:44浏览次数:36  
标签:springboot 配置文件 绑定 高级 bean 注解 yml 属性

首先就是在spring里面怎么提取配置文件中的属性,这个有两种,一种自己编写的bean,一种是第三方bean(想Druid包这种),先说说第一种吧。

先自己创建一个类,这个类里面的属性,要和那个yml配置文件中的环境属性对应上,这里@Component注解意思是把这个类标记成bean一边后面容器启动时使用,然后关键在于这个@ConfigurationProperties注解,这个注解里面写上yml配置文件中的属性名,意味着和yml配置文件中那个属性绑定。

 

 

 然后如果是第三方的bean这个yml的属性要怎么读取呢,先导入这个Druid包,然后再创建一个Druid的bean,

 

 

 然后再这个yml配置文件里面可以设置这个bean的一些属性,这里的关键也是这个@ConfigurationProperties注解,里面把绑定的属性

 

 也可以使用@EnableConfigurationProperties注解把要绑定配置文件的环境属性的类写在这个注解里面,使用这个注解的话,就很清楚那些类绑定了yml配置文件的属性。但是使用了这个@EnableConfigurationProperties注解的话,就不能在在哪个ServerConfig类上面用@Component注解了,防止出现两不唯一的bean。

 

 然后是宽松绑定,宽松绑定是指,在yml配置文件里那些属性的命名可以写得比较宽松,不一定要和那个类里面的属性名字一模一样,比如IPAddress可以写成IPADDRESS,

也可以写成ip-Address,等等。

 

 但是这个配置文件和别的类绑定时,不要用大写

 

 然后就是那个计量单位的设置,这些配置文件里属性如果只有数据,没有单位,那么就不知道这个数据是多大,就没有意义,所以就需要使用创建Duration对象,这个对象可设置单位,设置单位就是用@DurationUnit注解。

 

 这是所有的单位:

  

 

 之后就是数据校验,当我们可以设置数据的大小,最大值不能超过多少,最小值什么的,要实现数据校验,需要先导入这个Hibernate依赖,

 

 然后再在类里面设置校验规则:

  

 

 还有一个需要注意的是,在yml配置文件里,数值型数据,最好用“”,以防出错,因为有的时候一些数据,提取出来会出错,会误以为你写的8进制的数,

    

比如0127,提取出来就是87,yml文件里面把0127当成了8进制的数了。

  

 

 然后就是在测试环境中加载yml配置文件数据,而在测试环境加载配置文件的一些属性有三种方法,一种是只用@Value注解,这样读的是yml配置文件的中的属性,一种是在测试类的@springboot注解括号里面写上properties={“。。。。”} 或者写上args={“。。。。”}  这些是属于小范围的属性设置,pro会覆盖yml,而如果args和pro同时存在,那么args会覆盖pro。

 

 如果在测试环境中要加载第三方bean,那么需要用到@import注解把要引用的class写进去:

  

 

 最后,加载测试环境配置应用于小范围测试环境。

 

标签:springboot,配置文件,绑定,高级,bean,注解,yml,属性
From: https://www.cnblogs.com/y-258/p/17111650.html

相关文章