@Value使用的注意事项:
- 不能用与static修饰的属性
- 不能用于final修饰的属性
- 使用@Value注解的类必须再IOC容器中
- 使用@Autowired,不要new对象出来
在使用@Value获取配置文件中的值时,一直为null。通过排查发现,虽然值为null,说明配置的参地址是正确的,只是在Spring进行依赖注入的时候没有把这个值注入到变量中来。通过检查发现,是由于使用此类(注解所在的类)时候是直接new的,并没有将此类的创建交由Spring容器进行管理。
注意:第四点一定要注意,使用属性上加@Value的类一定不要被new出来,只能被其他类注入,不然@Value取值为null