在properties.xml中定义变量,在application.xml中取值问题

如果为application.xml中的变量赋默认值,同时又在properties.xml中变量赋值,而加载后是取不到properties.xml中的值的问题。

解决这个问题需要加上黑体部分配置:

<bean id="sysConfiguration" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="order" value="1" />
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <property name="locations">
            <list>
                <value>classpath:service.properties</value>
            </list>
        </property>
        <property name="fileEncoding" value="utf-8" />
    </bean>

举例说明:

service.properties文件

###变量定义###

service.period = 10

service.delay=50

applicaton.xml配置文件

<bean id="test" class="cn.com.Test">
        <property name="period" value="${service.period:5}"/>
        <property name="delay" value="${service.delay:2}"/>
 </bean>

时间: 2024-08-06 08:11:06

在properties.xml中定义变量,在application.xml中取值问题的相关文章

freemarker 模板中定义变量

在模板中可以定义三种类型的变量: 简单变量:它能从模板中的任何位置来访问,或者从使用 include 指令引入的模板访问.可以使用 assign 或 macro 指令来创建或替换这些变量. 局部变量:它们只能被设置在宏定义体内,而且只在宏内可见.一个局部变量的生存周期只是宏的调用过程.可以使用 local 指令在宏定义体内创建或替换局部变量. 循环变量:循环变量是由指令(如 list )自动创建的,而且它们只在指令的开始和结束标记内有效.宏的参数是局部变量而不是循环变量. 示例:使用 assig

case中定义变量

1.c语言switch/case中定义变量 case 0: int b = 0 ; printf("0");break; case 1: printf("1");break; default: printf("default");break; C和C++都会报错 情况1: case 0: int b; b = 0 ; printf("0");break; case 1: printf("1");break;

关于在头文件中定义变量的问题

如果在一个头文件中定义了一个变量 A.h: int i; 在A.cpp,B.cpp...文件中包含了这个头文件,编译时就会产生重复定义的错误.问题所在是因为int i;这句代码是定义了一个i变量,包含一次头文件就定义了一次i,包含多次肯定引起错误.如果改成extern int i;这句代码就变成了一个声明了.并不会定义i这个变量.不过在多个cpp文件里初始化一样会出现错误.只能在一个cpp文件中进行初始化.

c语言头文件中定义变量

最近在看一个PHP的扩展源码,编译的时候的遇到一个问题: ld: 1 duplicate symbol for architecture x86_64 仔细看了一下源码,发现在头文件中 出现了全局变量的定义 ZEND_DECLARE_MODULE_GLOBALS(xx) 简单开来,可以这么理解 // t1.h #ifndef T1_H #define T1_H int a = 0; #endif //------------------ //t1.c #include "t1.h" #

如何在switch case中定义变量(不用花括号)

这个周末有幸见到了几位神交已久的库友(天天/迪迪/丁丁),大家一起扯了些有的没的,很开森! 天天考了我一个问题,在C语言里面,如何在switch case中定义一个变量?要求是不用花括号. 这个问题是背景是,下面的代码是编译不过的,因为在case后面不能直接定义变量. switch (v) {    case 1:       int a;       get_value_of_xx(&a);       set_yy(a);       break;    case 2:       //do

dos中定义变量与获取常见的引用变量以及四则运算(set用法)

在dos中使用set定义变量: set  a=8              (注意等号两边没有空格) 引用变量如: echo  %a%        将打印a的值 (%a%是获取变量a的值) dos中要使用算术运算,需要使用 set 命令: set  /a  val=3*4     将打印12     (注意等号两边没有空格) 例子 @echo off set b=8888 rem 下一条语句定义了dos中的算术运算 set /a val = 3*2 for /l %%i in (1,1,%va

Java中的变量机制以及JS中的搜寻参数机制区别

JAVA: public class Hello { public static void changeInt(String str){ if (str == "blue") { str = "red"; } else{ str = "green"; } System.out.println(str); } public static void main(String[] args) { String str = "blue"

如何将servlet中的变量在jsp页面中显示---jsp中的EL表达式

1.EL(Expression Language)表达式 语 法:${},放在body中 2.EL表式一般情况下,从作用域对象中取值作用域对象有四个:pageContext,request,session,application,从小到大 例如: <% int a = 1234; //利用作用域对象设置key-value,即变量 pageContext.setAttribute("a", a); %> -----这是设置在<!DOCTYPE html >标签之上

Js中的假值_ES5中定义的ToBoolean方法强制类型转换后值为false

你不知道的Javascript(中)--ToBoolean javascript中的值可以分为以下两类: 1.可以被强制类型转换为false的值 2.其他(被强制类型转换为true的值) 假值---以下是js的ES规范中定义了的假值: undefined null false +0.-0和NaN ""-空字符串 假值的不二强制类型转换结果为false.一般除假值以外的都是真值. 假值对象--封装了假值的对象 eg: var a=new Boolean(false); var b=new