怎么才能建立一个网站,免费的个人服务器,公司电商网站开发,泰安信息港房产网说到Value注解#xff0c;用过的应该都知道#xff0c;这是Spring3的一个注解#xff0c;通过value注解的方式获取properties文件中的配置值#xff0c;大大简化了我们读取配置文件的代码。然而#xff0c;最近在使用中发现在controller使用出现了获取不到值的问题
经过排…说到Value注解用过的应该都知道这是Spring3的一个注解通过value注解的方式获取properties文件中的配置值大大简化了我们读取配置文件的代码。然而最近在使用中发现在controller使用出现了获取不到值的问题
经过排查发现父子容器的说法
父子容器
Spring容器 – 父容器
SpringMVC容器 – 子容器
父子容器的关系子容器能够访问父容器的资源bean 如Controller可以注入Service但是父容器不能访问子容器的资源
子容器可以访问父容器的对象但是Value并不会主动去父容器中查找配置文件属性值。properties文件是在applicationContext.xml读取的这是现在的问题。
解决问题给出如下两种解决办法
1.在springmvc配置文件中也读取properties文件这样controller就访问自己容器中的数据。 在springmvc配置文件中加入此配置文件
context:property-placeholder locationclasspath:config/properties/xx.properties /2.在父容器中注册一个Bean然后把配置文件的值注入到这个Bean中然后子容器可以访问到这个bean自然可以访问到属性。
因为Service层的对象是有Spring容器创建因此我们定义一个Service PropertiesService注入进来属性用public修饰
Service
public class PropertyService {Value(${PAGENUM})public int PAGENUM;
}在controller注入
Autowired
private PropertyService propertyService;再通过 propertyService.PAGENUM获取