我试图找出在ClassPathXmlApplicationContext
的构造函数中指定spring的XML文件的语法。根据语法,我不是指方法签名,而是实际的字符串
例如以下三项工作。
ApplicationContext context = new ClassPathXmlApplicationContext("com/anshbansal/alarm/alarm.xml");
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:alarm.xml");
ApplicationContext context = new ClassPathXmlApplicationContext("alarm.xml");
我用Google搜索并尝试查看Spring 3.1.0
源代码。但是我在doResolvePlaceholders
类的Spring中org.springframework.core.env.AbstractPropertyResolver
方法后被卡住了。具体而言,我无法理解占位符如何解决这条路径。
任何人都可以分享字符串的语法是什么来指定xml文件吗?
修改
我的意思是指定spring xml文件路径的语法,就像在构造函数中一样。我不是指xml文件本身的语法。
答案 0 :(得分:0)
好的,我现在明白了这个问题:-)。 PropertyResolver仅用于将环境值(或属性文件值)放入spring XML文件中,即:
<context:property-placeholder location="file:///some/path/file.properties"/>
然后在这个春天xml内解析它们,即:
<bean id="mailInviteMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from" value="${mail.from}"/>
<property name="subject" value="${mail.subject}"/>
</bean>
将spring XML放在类路径中并以标准约定命名(即beans.xml)是可取的。但是,您可以配置它将参数放入java调用,即
java -Dmy.parameter=/path/to/beans.xml ...
然后手动加载:
Context context = new FileSystemXmlApplicationContext(System.getProperty("my.parameter"));