`
kanpiaoxue
  • 浏览: 1778909 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring MVC controller 读取配置文件

 
阅读更多

用Spring的MVC做开发有段时间里。天天打交道的就是各种的controller。

今天遇到一个问题,需要读取配置文件configure.properties,通过“注释”方式注入给controller。

spring的读取配置如下:

	<bean
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:config/configure.properties</value>
			</list>
		</property>
	</bean>

我的spring的XML配置文件如下:

spring-ctx-application.xml
spring-ctx-repository.xml
spring-mvc-servlet.xml

 我把PropertyPlaceholderConfigurer的XML配置放到了spring-ctx-application.xml里面。配置文件和controller的代码如下:

page.query.rownum=10

 

@Value("${page.query.rownum}")
	private String pageQueryRownum;
	
	
	public void setPageQueryRownum(String pageQueryRownum) {
		this.pageQueryRownum = pageQueryRownum;
	}

但是发现了一个问题,被注入的 pageQueryRownum 并没有打印出我期望的数字 10, 而是打印出来了${page.query.rownum}。让我困惑。

后来找到了问题,我把PropertyPlaceholderConfigurer的XML配置放到了spring-mvc-servlet.xml的xml中,问题就解决了。看了老外写的东西,才知道,这是不同的spring context,才造成配置在 spring-ctx-application.xml的配置信息无法读取到。而我的springMVC的配置信息都在spring-mvc-servlet.xml中。为了让controller读取到配置文件,需要把PropertyPlaceholderConfigurer的XML配置到同样的context的spring-mvc-servlet.xml中,问题就解决了。

参考:

http://stackoverflow.com/questions/5275724/spring-3-0-5-doesnt-evaluate-value-annotation-from-properties

http://stackoverflow.com/questions/11890544/spring-value-annotation-in-controller-class-not-evaluating-to-value-inside-pro

 

分享到:
评论
1 楼 BuDongOrz 2016-06-07  

相关推荐

    spring mvc 读取配置文件

    这些文件包含了Spring MVC应用的所有组件配置,如控制器(Controller)、视图解析器(View Resolver)、数据访问对象(DAO)等。在Spring 4.0之后,随着Java配置的引入,我们也可以使用@Configuration注解的类来代替...

    spring mvc上传文件

    // 读取文件内容 byte[] bytes = file.getBytes(); // 存储到服务器、数据库等... } catch (Exception e) { return "error"; } } else { return "error"; } return "success"; } } ``` 然后,我们需要...

    Spring mvc 国际化

    Spring MVC在启动时会读取这些属性文件,并根据用户请求的区域设置,加载对应的属性文件。 通过上述配置和实现方法,可以将Spring MVC应用国际化。让应用支持多种语言,更好地满足不同地区用户的需求,从而扩大应用...

    spring mvc

    - **初始化**:读取配置文件并初始化 Spring 容器。 - **请求处理**:处理所有进入系统的 HTTP 请求。 - **响应生成**:根据处理结果生成最终的 HTTP 响应。 #### 五、Spring MVC 双亲上下文说明 在 Spring MVC 中...

    Spring MVC 入门实例

    9 import org.springframework.web.servlet.mvc.Controller; 10 import org.springframework.web.servlet.ModelAndView; 11 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet....

    Spring mvc+hibernate+mysql Demo

    Spring MVC通过DispatcherServlet接收请求,然后根据请求信息(如URL和方法类型)将请求分发到对应的控制器(Controller)。Controller处理业务逻辑后,通常会返回一个ModelAndView对象,其中包含了视图名称和模型...

    bbs.zip_Spring mvc bbs_hibernate bbs_spring mvc_spring mvc hiber

    Spring MVC通过DispatcherServlet接收请求,然后根据配置的映射规则分发到相应的Controller处理,最后由View负责展示结果。 在本项目中,Spring MVC作为核心控制器,负责协调各个组件的工作。开发者可以自定义...

    Spring-MVC的demo

    在Spring配置文件中定义Bean,Spring会自动管理它们的生命周期和依赖关系。这样,代码不再需要自行实例化对象,而是通过构造函数、setter方法或接口实现依赖注入。 8. **AOP(面向切面编程)** Spring还支持AOP,...

    spring MVC中文教程

    - **配置文件**:通常使用XML或注解来配置Spring MVC,例如设置视图解析器、定义控制器映射规则等。 - **启用Spring MVC**:可以通过在web.xml中配置DispatcherServlet来启动Spring MVC。 #### 六、Spring MVC的...

    Spring MVC+mysql

    在这个Demo中,配置文件(如`web.xml`和`spring-servlet.xml`)应该已经配置了DispatcherServlet、视图解析器以及其他Spring MVC的组件。此外,可能还包含了一些数据访问对象(DAO)和Service类,它们使用JDBC或者...

    Spring MVC实现文件的上传下载

    在Spring MVC中实现文件的上传和下载是常见的需求,这涉及到处理multipart/form-data类型的表单数据,以及对文件的存储和读取操作。 首先,让我们了解文件上传的基本流程。当用户通过表单提交带有文件的请求时,...

    spring mvc 项目

    在Spring MVC项目中,Oracle将作为存储数据的后端,MyBatis通过JDBC接口与Oracle进行通信,执行CRUD(创建、读取、更新、删除)操作。 4. **项目结构** 通常,一个Spring MVC项目会包含以下主要部分: - `src/...

    Spring MVC 的注解使用实例

    10. `@Value` 注解:用于注入配置属性值,可以从属性文件中读取。 以上就是Spring MVC中的一些核心注解用法,通过这些注解,开发者可以轻松地构建出松散耦合、易于维护的MVC应用。在实际开发中,结合Spring Boot和...

    Spring MVC之Controller层的常用注解

    本篇文章将深入探讨Spring MVC Controller层中的常用注解,帮助开发者更好地理解和运用这些注解来构建高效、可维护的Web应用。 1. `@Controller`:这是最基本的注解,表明一个类是Spring MVC的Controller。它通常...

    一个完整的Spring MVC的CRUD操作实例

    - src/main/webapp:Web应用目录,包括WEB-INF下的web.xml(Spring MVC配置)和JSP视图文件 2. **配置Spring MVC**: 配置始于web.xml,这是Web应用的部署描述符,用来启动DispatcherServlet。DispatcherServlet...

    maven、spring mvc、hibernate 项目源码下载

    - 可能还包含了一些配置文件,如Spring的bean配置文件(如applicationContext.xml)、Hibernate的配置文件(如hibernate.cfg.xml)以及Web应用的配置(如web.xml)。 - 测试用例,用于验证各个组件的正确性和性能。 ...

    文件上传下载(maven + spring mvc + jetty)

    在文件上传下载的场景中,Spring MVC的Controller组件负责接收HTTP请求,处理文件上传和下载操作,Service层处理业务逻辑,而DAO层则与数据库交互,存储或读取文件元数据。 文件上传在Spring MVC中主要通过`@...

    详解Spring mvc的web.xml配置说明

    `ContextLoaderListener`监听器会在Web应用启动时读取这些配置文件,创建Spring的ApplicationContext。如果没指定,容器会默认在`/WEB-INF`目录下查找名为`applicationContext.xml`的文件。 5. **核心Servlet配置**...

    spring mvc html5带进度条上传的例子.zip

    在Spring MVC中,我们需要配置一个`@Controller`来处理文件上传请求。通常,我们会使用`@RequestParam("file") MultipartFile file`这样的参数来接收上传的文件。`MultipartFile`是Spring提供的一个接口,用于处理...

Global site tag (gtag.js) - Google Analytics