Properties配置、Person文件另一种获值方法、一些注解、配置文件占位符

一、 Properties配置

person.last-name=海峰
person.age=21
person.birth=2000/05/03
person.boss=false
person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,c
person.dog.name=${person.hello:hello}_dog
person.dog.age=15

此处会出现一个bug,原因是文件乱码,IDEA使用UTF-8,propertie是使用ASCII码,可以在File Encoding中修改。

二、Person文件中另一种获取值的方式——@Vaule

使用三个相关注解演示,在名字,年龄,boss上:
@Value("${person.last-name}")
@Value("#{11*2}")
@Value("{ture}")

pis:${},#{}符号的区别:
#{},变量自动加上单引号,可以防止SQL注入,默认值arg0,arg1,arg2.
${},变量不会加上单引号,不可以防止SQL注入,默认值param0,param1,param2.

@ConfigurationProperties、@Value两种方式比较:
在这里插入图片描述
解析:
①松散绑定:
last-name:小写用-
last_name:大写用-
lastName:标准
②SpEl:
@ConfigurationProperties不能在Properties中写入类似#{2*11}的格式。
③JSR303数据校验:
在主函数类上加入@Email注解,如果配置文件中相关对象不是Email格式,就会报错

三、两个注解

1.@PropertySource:加载指定配件文件。
@ConfigurationProperties是默认配置全局的文件。
用法:@PropertySource(value={“classpath:person.properties”})
使用路径为person.properties的配置文件。
2.ImportResources:导入Spring配置文件,让里面内容升效。
用法:@ImportResource(locations={“classpath:***.xml”})
原因是SpringBoot中没有Spring配置文件,自己所编写的也不能生效,不能识别,所以使用@ImportResource注解。

使用@Bean给容器添加组件

@Configuration
public class MyAppConfig {

    //将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
    @Bean
    public HelloService helloService(){
        System.out.println("配置类@Bean给容器中添加组件了...");
        return new HelloService();
    }
}

@Bean:将方法返回值添加至容器中,容器中这个组件默认id就是方法名。

四、配置的占位符

随机数:

${random.value}、${random.int}、${random.long}
${random.int(10)}、${random.int[1024,65536]}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值