其中spring定义变量值,由一些xml文件引用

时间:2016-03-18 19:23:53

标签: spring spring-mvc spring-bean

我试图理解变量的值来自何处,当它在Spring xml文件中被引用时。

例如:

<context:property-placeholder location="classpath:/${com.example.deploy.environment}/com.example.config/mysql.properties" ignore-resource-not-found="false" />

com.example.deploy.environment的值定义在哪里?在我的项目中,我搜遍了所有地方,但是我无法找到定义此值的任何地方。

理解这一点的任何信息都会有很大的帮助。

1 个答案:

答案 0 :(得分:2)

此值可来自各种来源:

  1. 您可以在PropertyPlaceholderConfigurer bean中定义的application.properties文件。

    <bean id="mailProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:application.properties" />
    </bean>
    
    ...
    //Inside application.properties
    com.example.deploy.environment=prod
    
  2. 您可以通过命令行提供:

    使用JVM系统属性的Maven vm参数:

    mvn package -Dcom.example.deploy.environment=prod
    

    运行Spring Boot应用程序:

    java -jar app.jar --com.example.deploy.environment="prod"
    
    1. 来自操作系统的System Environment变量。您可能必须在设置环境变量后重新启动。请参阅下面的窗口:
  3. In Windows

    有关详细信息,请参阅此doc和此article

相关问题