Override Properties file in Spring WebApp at Runtime

前端 未结 3 1495
耶瑟儿~
耶瑟儿~ 2020-12-22 04:57

I am loading properties file in my Spring WebApplication using PropertyPlaceholderConfigurer as below:



        
3条回答
  •  悲&欢浪女
    2020-12-22 05:29

    I think that working with multiple propertyPlaceholders is not a goog idea. I had a lot of problems when two xml configs, in the same context, loads each properties and they try cross-use them.

    If you want to externalize a properties file, I would suggest a JNDI property:

    
        
            
                classpath:db.properties
                classpath:mail.properties
                ${java:com/env/myApp/externalProperties}
            
        
    
    

    Where the value of this JNDI would be: "file:/path-to-propertiesFile".

    In this way you only need one propertyePlaceholder. Also note that by putting the external file as last location, if you have duplicate keys, spring will retain only the last one.

提交回复
热议问题