我想编写一个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"/>
如何从主方法获取配置文件名到实际弹簧上下文,以便我可以加载正确的环境相关属性?
答案 0 :(得分:6)
在您的情况下,您可以更好地为属性文件位置设置系统属性
System.getProperties().setProperty("location", args[0]);
然后在applicationContext.xml文件中
<context:property-placeholder location="${location}" ignore-unresolvable="true"/>
希望这能解决您的问题。