@Value注解
@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的点