SpringMVC 4.2 中 使用 ${adminPath} 无法解析成properties文件中的值

来源:互联网 发布:ubuntu 16.04 安装php 编辑:程序博客网 时间:2024/06/05 11:56


问题说明:  我想统一配置 adminPath,以后方便进行权限配置,所以,想在@requestMapping 后面映射成 ${adminPath},但是此处一直获取不到值。

** * 用户Controller * @author ThinkGem * @version 2013-8-29 */@Controller@RequestMapping(value = "${adminPath}/sys/user")public class UserController extends BaseController {
@Autowiredprivate UserService userService;
@Value("${adminPath}")private String password;
@ResponseBody@RequiresPermissions("sys:user:view")@RequestMapping(value = {"listData"})public Page<User> listData(User user, HttpServletRequest request, HttpServletResponse response, Model model) {Page<User> page = userService.findUser(new Page<User>(request, response), user);System.out.println("password为:"+password);return page;}}

已知:  @Value 注解可以获取到properties文件中的值。

若添加配置<util:properties> 标签,可通过@Value("#{APP_PROP['jdbc.driver']}")取到值。此时,无法仍无法通过@Value("${adminPath}")取到值。

<!-- 加载应用属性实例,可通过  @Value("#{APP_PROP['jdbc.driver']}") String jdbcDriver 方式引用 -->    <util:properties id="APP_PROP" location="classpath*:test01.properties" local-override="true"/>
本人想通过添加以下配置,通过$符取到properties文件中的值。

<!-- 加载配置属性文件 --><context:property-placeholder ignore-unresolvable="true" location="classpath*:test01.properties" />
需要注意:这种方式下,如果你在spring-mvc.xml文件中有如下配置,则一定不能缺少下面的红色部分:

context:component-scan标签的use-default-filters属性的作用以及原理分析

<!-- 配置组件扫描,springmvc容器中只扫描Controller注解 --><context:component-scan base-package="com.hafiz.www" use-default-filters="false">    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>
本人添加完use-default-filters属性后,可以通过$符号获取到需要的值。

详情请参考文章:  

五种方式让你在java中读取properties文件内容不再是难题



0 0
原创粉丝点击