我在getMessage
对象(实现MessageSource
接口)的AbstractApplicationContext
接口中使用MessageSource
方法,代码如下:
AbstractApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
System.out.println(context.getMessage("greeting", null, "Default Message", null));
context.registerShutdownHook();
Shape t = (Shape) context.getBean("circle");
t.draw();
以下是我的属性文件(mymessages.properties
):
greeting=Hello!
由于某些原因,当我运行上面的代码时,它会不断打印Default Message
而不是在我的属性文件中获取键greeting
的值并将其记录到屏幕({{1} }})。
但是当我在Hello!
中包含它时,它会以某种方式起作用:
spring.xml
我很困惑为什么当<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>mymessages</value>
</list>
</property>
</bean>
对象已经实现ResourceBundleMessageSource
接口时,我必须为类AbstractApplicationContext
添加一个bean,该接口具有MessageSource
的实现方法。
添加getMessage
bean如何使其工作?