@Value 注解

第一个:${} 注入的是外部配置文件对应的property,

第二个:#{} 则是SpEL表达式对应的内容。

1.变量直接赋值

 /* 直接设置值 */
@Value("25")
private int hight;


2.${}

a.读取yml文件里面的值

b.冒号:当配置文件不存在此字段,默认为空

@Value("${sftp.port:22}")
private String sftpport;

@Value("${sftp.username}")
private String sftpusername;
//如果不加冒号,会报错
@Value("${sftp.password:}")


yml配置文件:

sftp:

port: 21

username: uftp

#password: 12345678

说明:使用properties可能会有中文乱码的问题,而使用yml可以避免这种情况,yml的结构与json相似:

注意: yml冒号后要有空格,如果不加空格, 会导致yml配置读取失效

冒号+空格=properties的点