What is property resolution order in Spring property placeholder configurer with multiple locations?

后端 未结 2 1117
南方客
南方客 2021-01-04 05:05

Lets say I have a configuration:

    
         


        
2条回答
  •  孤城傲影
    2021-01-04 05:34

    The last one wins.

    Assuming we have props1.properties as

    prop1=val1
    

    and props2.properties

    prop1=val2
    

    and context.xml

    
    
        
            
                /props1.properties
                /props2.properties
            
        
    
     
    

    then

    public class Test1 {
        @Value("${prop1}")
        String prop1;
    
        public static void main(String[] args) throws Exception {
            ApplicationContext ctx = new ClassPathXmlApplicationContext("/test1.xml");
            System.out.println(ctx.getBean(Test1.class).prop1);
        }
    
    }
    

    prints

    val2

    and if we change context as

            
                /props2.properties
                /props1.properties
            
    

    the same test prints

    val1
    

提交回复
热议问题