直接在 spring 配置文件里面加上

<context:property-placeholder file-encoding="UTF-8" location="classpath*:application.properties,classpath*:resource.properties,classpath*:memcached.properties,classpath:sys.properties" ignore-resource-not-found="true" />

这样就能在配置数据源的时候这样子

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/> <!-- Connection Pooling Info -->
<property name="initialSize" value="${dbcp.initSize}" />
<property name="maxIdle" value="${dbcp.maxIdle}"/>
<property name="maxActive" value="${dbcp.maxActive}"/>
<property name="defaultAutoCommit" value="false"/>
<property name="timeBetweenEvictionRunsMillis" value="3600000"/>
<property name="minEvictableIdleTimeMillis" value="3600000"/>
</bean>

同时也可以在代码里面这样获取

@Value("${jdbc.driver}") String jdbcdriver;

当然如果用 @Value 注解获取属性的话,你的类也必须是spring注入管理的。 
如果用了SpringMVC,而且你在controller里面用 @Value 获取不到属性值的话,应该在SpringMVC配置文件里面也加上上面的配置!

因为在使用spring mvc时,实际上是两个spring容器: 
1,dispatcher-servlet.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件 
org.springframework.web.servlet.DispatcherServlet 
这里最终是使用

WebApplicationContext parent =WebApplicationContextUtils.getWebApplicationContext(getServletContext());

创建spring容器,代码在FrameworkServlet中

2,applicationContext.xml 是另外一个,也需要注入属性文件 
org.springframework.web.context.ContextLoaderListener

在我们的service中可以拿到@Value注入的值,那是因为我们通常都会把获取属性文件定义在applicationContext.xml中,这样在 Controller中是取不到的,必须在dispatcher-servlet.xml 中把获取属性文件再定义一下

具体看这里吧 http://blog.csdn.net/sunhuwh/article/details/15813103

<context:property-placeholder>配置资源文件的更多相关文章

  1. JAVA加载Properties配置资源文件

    JAVA加载Properties配置资源文件 制作人:全心全意 配置文件(资源文件):以properties作为拓展名的文件 Java代码是如何加载properties文件的? 必须使用Propert ...

  2. Python -- Gui编程 -- Qt库的使用 -- 配置资源文件

    1.源文件(qtRes.py) import sys from PyQt4 import QtCore, QtGui, uic class MyDialog(QtGui.QDialog): def _ ...

  3. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  4. maven资源文件的相关配置

    构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件. src/main/java和src/test/java  这两个目录中的所有*.java文件会 ...

  5. vue2.0 配置build项目打包目录、资源文件(assets\static)打包目录

    vue项目默认的打包路径:根目录下的dist文件夹下: 但是在项目开发中,我们肯定希望项目提交到svn目录或者git目录下,否则每次复制过去,太麻烦了: 那怎么配置打包路径呢?下面来看看: 我们找到打 ...

  6. ******可用 SpringBoot 项目打包分开lib,配置和资源文件

    spring-boot多模块打包后,无法找到其他模块中的类https://blog.csdn.net/Can96/article/details/96172172 关于SpringBoot项目打包没有 ...

  7. spring boot资源文件配置读取

    一般业务配置,尽量新建自己的配置文件,来读取,而不是配置在application.properties或application-*.properties或yml/yaml配置中. applicatio ...

  8. 【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】

    一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm ...

  9. maven打包额外的资源文件

    在用Maven打包的时候发现,有一些资源文件打包不到jar包中,于是了解了一下Maven的打包配置,最后得到了解决问题的办法. Maven资源文件的默认约定 构建Maven项目的时候,如果没有进行特殊 ...

随机推荐

  1. LightOJ - 1032 数位DP

    #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...

  2. APP开发的三种模式

    Hybrid APP混合开发的一些经验和总结 APP开发的三种模式:Native App .web App.hybrid App 1.原生app 使用原生app (android或iOS)开发APP. ...

  3. 2.在centos7虚拟机搭建nginx网站

    1.nginx配置目录 cd /etc/nginx/conf.d/ 添加 vi www.18cat.conf server{ listen 80; server_name www.18cat.com; ...

  4. datetime和date如何转json

    import json from datetime import datetime, date class MyJson(json.JSONEncoder): def default(self, o) ...

  5. Twitter Storm 安装实战

    实际上安装Twitter Storm是上周三的事情了,周三的时候安装了一个单机版的,用WordCount跑了一下,感觉还不错.周四试着在集群上安装,碰到了一些问题,一直折腾到周五,留了个尾巴(没有做测 ...

  6. Mac下Jenkins+SVN+Xcode构建持续导出环境

    1 安装Jenkins Jenkins是基于Java开发的一种持续集成工具.所以呢,要使用Jenkins必须使用先安装JDK. JDK安装 JDK 下载地址 jdk 1.8.png 安装JDK的过程略 ...

  7. APP在实际开发中应注意的关键点

    在APP开发过程中,开发者比较注重的是功能模块的实现,从而忽略了APP的设计问题,特别是企业开发APP,但是,APP设计是APP开发中非常重要的一个环节,APP界面设计直接影响到APP用户的感官,因此 ...

  8. Hadoop Ecosystem related ports

    本文总结了Hadoop生态系统中各个组件使用的端口,包括了HDFS,Map Reduce,HBase,Hive,Spark,WebHCat,Impala,Alluxio,Sqoop等,后续会持续更新. ...

  9. Long 和 Integer

    Integer 32位 其范围为 -2^31 到 2^31-1 之间,所以最大值是 2^31-1 Long 64位

  10. 简单的 shell 脚本 切分日志

    为避免日志过大,需要按天分割日志,定时计划任务脚本如下: /data/shell/backup_yesterday_nginx_log.sh declare logs_path="/data ...