1. 读取配置文件
读取配置文件时,可以使用file:/、classpath:甚至http://等URl前置,或者classpath*:标示所有的classpath前置路径配置:
ApplicationContext con = new ClassPathXmlApplicationContext(“classpath*:beans-config.xml”);
读取多个配置文件:
ApplicationContext con = new ClassPathXmlApplicationContext(new String[]{“beans-config.xml”,”beans-config2.xml”});
2. 多个bean配置文件
<beans …>
<import resource=”dao-config.xml”/>
<import resource =”resource/messageSource.xml”>
<bean id=”bean1” class=”…”/>
</beans>
注意:<import>标签必须放置在<bean>标签之前,定义文件必须放置在同一目录或者classpath之中,以相对路径指定bean定义文件位置,而每个定义文件的内容必须包括在<beans>根标签。
3. 设置别名
设置别名方式一:
<beans..>
<bean id =”app:dataSource” class=”…”>
<allias name = “app:dataSource” allias=”device:dataSource”/>
<allias name=”app:dataSource” allias=”user:dataSource”/>
…
</beans>
设置别名方式二:
<bean id=” app:dataSource” name=” device:dataSource,user:dataSource” class=”….”/>
4. 读取配置文件
Ø ApplicationContext方式一:
FileSystemXmlApplicationContext读取文件,文件的路径绝对路径,src包名要记得加上。
ApplicationContext context = new FileSystemXmlApplicationContext(
"src/ffz/staticFactoryExample/applicationContext.xml");
ØApplicationContext方式二:
ClassPathXmlApplicationContext读取文件,文件的路径为相对路径,不需要加src。
ApplicationContext context = new ClassPathXmlApplicationContext(
"ffz/staticFactoryExample/applicationContext.xml");
5. 解析文字消息
在资源文件中定义bean:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages" /> </bean>
使用实例:
public static void main(String[] str) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"ffz/messageSource/applicationContext.xml");
Object[] userObject = new Object[] { "Fiona",
Calendar.getInstance().getTime() };
Date date = new Date();
log.info(context.getMessage("userLogin", userObject, Locale.US));
log.info(context.getMessage("userLogin", userObject, Locale.CHINESE));
log.info(context.getMessage("ffz", userObject, Locale.CHINESE));
}
主意事项:
Ø的名称必须是messageSource。
Ø资源文件命名是,必须是messages,和basename的value值一致。
Ø中文的资源文件名字应该为messages_zh_CH.properties。
Ø读取资源文件的类型时,用的locale.CHINESE。
6. Spring整合struts
a) 使用spring的ActionSupport类整合struts
b) 使用spring的DelegatingRequestProcessor覆盖Struts的RequestProcessor
c) 将strutsAction管理委托给Spring框架。