[email protected]与@Value的区别

  配置文件yml还是properties他们都能获取到值;如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

1.功能

  使用@Value来代替@ConfigurationProperties也是可以的

2.松散绑定

  在application.properties中:

1 person.last-name=张三

  如果不支持松散绑定,那么Person.java中必须写成

1 @Value("${person.last-name}")

  如果支持松散绑定,那么在application.properties中:

1 person.lastName=张三
1 person.last_name=张三

  都是没有问题的。

3.SpEL

  如果支持Spring Expression Language,那么application.properties中可以出现

1 person.age=#{11*2}

  事实上这就相当于

1 person.age=22

4.JSR303校验

  如果要求age变量必须是邮件格式,可以向Person类中加入@Validated以及@Email。那么此时application.properties中的age必须满足邮件格式才可以。

5.复杂类型封装

  这里的复杂类型指的是诸如maps等类型。

原文地址:https://www.cnblogs.com/yangyh26/p/12269006.html

时间: 2024-11-25 20:32:31

[email protected]与@Value的区别的相关文章

@[email protected] @PathVariable @RequestParam三者区别

一.问题描述 由于项目是前后端分离,因此后台使用的是spring boot,做成微服务,只暴露接口.接口设计风格为restful的风格,在get请求下,后台接收参数的注解为RequestBody时会报错:在post请求下,后台接收参数的注解为RequestParam时也会报错. 二.问题原因 由于spring的RequestParam注解接收的参数是来自于requestHeader中,即请求头,也就是在url中,格式为xxx?username=123&password=456,而RequestB

@[email protected]和@NotBlank的区别

这几个可以为对象,不只是字符串 [email protected] 不能为null,但可以为empty (""," "," ") [email protected] 不能为null,而且长度必须大于0 (" "," ") [email protected] 只能作用在String上,不能为null,而且调用trim()后,长度必须大于0 ("test") 即:必须有实际字符 原文地址:h

$*和[email protected]之间区别代码分析

#!/bin/bash set 'apple pie' pears peaches for i in $*           /*单引号被去掉,循环单个字符输出*/ do echo $i done [[email protected] Ex_14.02-14.31]# sh 14-14-1 apple pie pears peaches -------------------------------------------------------------- #!/bin/bash set

$* 和[email protected]的区别

1 概述 $* 和[email protected]在有加双引号和没有双引号的情况下有明显的区别,在这边用一个实验进行测试 实验的环境如下 为了让实验结果更加明确,在参数里多了一个被双引号引用的参数,而且双引号内里也有多个数值,如下 运行语句 ./varnu.sh a b "12 66 a1c" 99 参数为  a b "12 66 a1c" 99 2 实验 2.1 $* 和 [email protected]没有双引号 $* 和 [email protected]

(转载)OC学习篇之[email protected]关键字的作用以及#include和#import的区别

前一篇文章说到了OC中类的三大特性,今天我们来看一下在学习OC的过程中遇到的一些问题,该如何去解决,首先来看一下我们之前遗留的一个问题: 一.#import和#include的区别 当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了 二.关键字@class的作用 在来看一下OC中的关键字@class的作用,在

OC学习篇之[email protected]关键字的作用以及#include和#import的区别

前一篇文章说到了OC中类的三大特性:http://blog.csdn.net/jiangwei0910410003/article/details/41707161今天我们来看一下在学习OC的过程中遇到的一些问题,该如何去解决,首先来看一下我们之前遗留的一个问题: 一.#import和#include的区别 当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话,不会报错,所以他可以解决重复导入

verilog中assign和[email protected](*)的区别和值得注意

verilog描述组合逻辑一般常用的有两种:assign赋值语句和[email protected](*)语句.两者之间的差别有: 1. 被assign赋值的信号定义为wire型,被[email protected](*)结构块下的信号定义为reg型,值得注意的是,这里的reg并不是一个真正的触发器,只有敏感列表为上升沿触发的写法才会综合为触发器,在仿真时才具有触发器的特性. 2. 另外一个区别则是更细微的差别:举个例子, wire a; reg b; assign a = 1'b0; [ema

springMVC @[email protected]@[email protected]@Controller的区别和理解

作用: @Component------------------------泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注.(Component-------成分; 组分; 零件) @Resource------------------------(资源) @Autowired-----------------------(自动绑定) @Repository-----------------------于标注数据访问组件,即DAO组件(repository-------仓库; 贮藏

shell中$*与[email protected]的区别

$*所有的位置参数,被作为一个单词 注意:"$*"必须被""引用 [email protected] 与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整的传递,被没有被解释和扩展,这也意味着每个参数列表中的每个参数都被当成一个独立的单词. 注意:"[email protected]"必须被引用. [email protected],$*只在被双引号包起来的时候才会有差异. 双引号括起来的情况: $*将所有