@Value实际处理由BeanPostProcessor执行,这意味着不能在BeanPostProcessor或BeanFactoryPostProcessor类型中使用 @Value。
在装配对象成员属性时,常使用@Autowired来装配。但也使用@Value进行装配:
-
使用@Autowired一般都不会设置属性值
-
@Value必须指定一个字符串值,因其定义做了要求:
一般都会因 @Value 常用于String类型的装配,误以为其不能用于非内置对象的装配。
可用如下方式注入一个属性成员:
使用 @Value更多是用来装配String,而且支持多种强大的装配方式
application.properties配置了这样一个属性:
user=admin
password=pass