zoukankan      html  css  js  c++  java
  • Spring – ${} is not working in @Value--转载

    原文:http://www.mkyong.com/spring/spring-is-not-working-in-value/

    A simple Spring @PropertySource example to read a properties file.

    db.properties
    db.driver=oracle.jdbc.driver.OracleDriver
    AppConfig.java
    @Configuration
    @PropertySource("classpath:db.properties")
    public class AppConfig {
     
    	@Value("${db.driver}")
    	private String driver;

    But the property placeholder ${} is unable to resolve in @Value, if print out the driver variable, it will display string ${db.driver} directly, instead of “oracle.jdbc.driver.OracleDriver”.

    Solution

    To resolve ${} in Spring @Value, you need to declare a STATICPropertySourcesPlaceholderConfigurer bean manually. For example :

    AppConfig.java
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
     
    @Configuration
    @PropertySource("classpath:db.properties")
    public class AppConfig {
     
    	@Value("${db.driver}")
    	private String driver;
     
    	@Bean
    	public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
    		return new PropertySourcesPlaceholderConfigurer();
    	}
    }

    For XML configuration, Spring will help you to register PropertySourcesPlaceholderConfigurerautomatically.

    <util:properties location="classpath:db.properties"/>
  • 相关阅读:
    锚点
    DOM
    background
    Vue前端路由
    JavaScript常用方法
    算法——dfs介绍
    时间复杂度和空间复杂度
    CSS定位(position)
    CSS三栏布局
    前端笔试高频知识点汇总
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4414712.html
Copyright © 2011-2022 走看看