【问题标题】:Load properties for spring context from command-line从命令行加载弹簧上下文的属性
【发布时间】:2012-08-04 07:10:38
【问题描述】:

我想编写一个 spring 命令行程序,该程序使用作为命令行参数传递的属性文件进行初始化。怎么可能?

开始上课:

public static void main (String [] args) {
    String configFilename = args[0];
    ApplicationContext ctx = new ClassPathXmlApplicationContext(
        "classpath:/context/applicationContext.xml");
    MyBean bean = ctx.getBean(MyBean.class); 
    bean.getStarted();
}

applicationContext.xml:

<context:property-placeholder location="CONFIGFILENAME" ignore-unresolvable="true"/>

如何将配置文件名从我的 main 方法获取到实际的 spring 上下文,以便我可以加载正确的环境相关属性?

【问题讨论】:

标签: java spring parameter-passing command-line-arguments


【解决方案1】:

在您的情况下,您可以更好地为属性文件位置设置系统属性

System.getProperties().setProperty("location", args[0]);

然后在applicationContext.xml文件中

<context:property-placeholder location="${location}" ignore-unresolvable="true"/>  

希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 2019-11-03
    • 2018-05-06
    • 2016-09-02
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2022-10-21
    • 2012-02-14
    相关资源
    最近更新 更多