﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-java路，自己走-随笔分类-java.spring</title><link>http://www.blogjava.net/syniii/category/47166.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 24 Nov 2010 03:16:42 GMT</lastBuildDate><pubDate>Wed, 24 Nov 2010 03:16:42 GMT</pubDate><ttl>60</ttl><item><title>spring中一些aware接口</title><link>http://www.blogjava.net/syniii/archive/2010/11/24/338906.html</link><dc:creator>杨罗罗</dc:creator><author>杨罗罗</author><pubDate>Wed, 24 Nov 2010 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/syniii/archive/2010/11/24/338906.html</guid><wfw:comment>http://www.blogjava.net/syniii/comments/338906.html</wfw:comment><comments>http://www.blogjava.net/syniii/archive/2010/11/24/338906.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/syniii/comments/commentRss/338906.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/syniii/services/trackbacks/338906.html</trackback:ping><description><![CDATA[<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; ">
</p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">Spring中提供一些Aware相关接口，像是BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等，实现这些 Aware接口的Bean在被初始之后，可以取得一些相对应的资源，例如实现BeanFactoryAware的Bean在初始后，Spring容器将会注入BeanFactory的实例，而实现ApplicationContextAware的Bean，在Bean被初始后，将会被注入 ApplicationContext的实例等等。</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　Bean取得BeanFactory、ApplicationContextAware的实例目的是什么，一般的目的就是要取得一些档案资源的存取、相 关讯息资源或是那些被注入的实例所提供的机制，例如ApplicationContextAware提供了publishEvent()方法，可以支持基于Observer模式的事件传播机制。</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　ApplicationContextAware接口的定义如下：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">ApplicationContextAware.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public interface ApplicationContextAware {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;void setApplicationContext(ApplicationContext context);</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　我们这边示范如何透过实现ApplicationContextAware注入ApplicationContext来实现事件传播，首先我们的HelloBean如下：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">HelloBean.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">package onlyfun.caterpillar;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">import org.springframework.context.*;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public class HelloBean implements ApplicationContextAware {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;private ApplicationContext applicationContext;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;private String helloWord = "Hello!World!";</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public void setApplicationContext(ApplicationContext context) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.applicationContext = context;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public void setHelloWord(String helloWord) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.helloWord = helloWord;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public String getHelloWord() {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;applicationContext.publishEvent(</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new PropertyGettedEvent("[" + helloWord + "] is getted"));</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return helloWord;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　ApplicationContext会由Spring容器注入，publishEvent()方法需要一个继承ApplicationEvent的对象，我们的PropertyGettedEvent继承了ApplicationEvent，如下：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">PropertyGettedEvent.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">package onlyfun.caterpillar;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">import org.springframework.context.*;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public class PropertyGettedEvent extends ApplicationEvent {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public PropertyGettedEvent(Object source) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;super(source);</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　当ApplicationContext执行publishEvent()后，会自动寻找实现ApplicationListener接口的对象并通知其发生对应事件，我们实现了PropertyGettedListener如下：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">PrppertyGettedListener.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">package onlyfun.caterpillar;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">import org.springframework.context.*;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public class PropertyGettedListener implements ApplicationListener {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public void onApplicationEvent(ApplicationEvent event) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;System.out.println(event.getSource().toString()); &nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　Listener必须被实例化，这我们可以在Bean定义档中加以定义：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&lt;!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&lt;beans&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;&lt;bean id="propertyGetterListener" class="onlyfun.caterpillar.PropertyGettedListener"/&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;&lt;bean id="helloBean" class="onlyfun.caterpillar.HelloBean"&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&lt;property name="helloWord"&gt;&lt;value&gt;Hello!Justin!&lt;/value&gt;&lt;/property&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;&lt;/bean&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&lt;/beans&gt;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　我们写一个测试程序来测测事件传播的运行：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">Test.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">package onlyfun.caterpillar;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">import org.springframework.context.*;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">import org.springframework.context.support.*;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public class Test {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public static void main(String[] args) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;HelloBean hello = (HelloBean) context.getBean("helloBean");</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;System.out.println(hello.getHelloWord());</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　执行结果会如下所示：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">log4j:WARN No appenders could be found for logger</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">(org.springframework.beans.factory.xml.XmlBeanDefinitionReader).</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">log4j:WARN Please initialize the log4j system properly.</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">org.springframework.context.support.ClassPathXmlApplicationContext:</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">displayName=[org.springframework.context.support.ClassPathXmlApplicationContext;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">hashCode=33219526]; startup date=[Fri Oct 29 10:56:35 CST 2004];</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">root of ApplicationContext hierarchy</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">[Hello!Justin!] is getted</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">Hello!Justin!</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　以上是以实现事件传播来看看实现Aware接口取得对应对象后，可以进行的动作，同样的，您也可以实现ResourceLoaderAware接口：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">ResourceLoaderAware.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public interface ResourceLoaderAware {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;void setResourceLoader(ResourceLoader loader);</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　实现ResourceLoader的Bean就可以取得ResourceLoader的实例，如此就可以使用它的getResource()方法，这对于必须存取档案资源的Bean相当有用。</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　基本上，Spring虽然提供了这些Aware相关接口，然而Bean上若实现了这些界面，就算是与Spring发生了依赖，从另一个角度来看，虽然您可以直接在Bean上实现这些接口，但您也可以透过setter来完成依赖注入，例如：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">HelloBean.java</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">package onlyfun.caterpillar;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">import org.springframework.context.*;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">public class HelloBean {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;private ApplicationContext applicationContext;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;private String helloWord = "Hello!World!";</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public void setApplicationContext(ApplicationContext context) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.applicationContext = context;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public void setHelloWord(String helloWord) {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.helloWord = helloWord;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;public String getHelloWord() {</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;applicationContext.publishEvent(new PropertyGettedEvent("[" + helloWord + "] is getted"));</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return helloWord;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp;}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">}</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　注意这次我们并没有实现ApplicationContextAware，我们在程序中可以自行注入ApplicationContext实例：</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">&nbsp;&nbsp; &nbsp; &nbsp;</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">HelloBean hello = (HelloBean) context.getBean("helloBean");</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">hello.setApplicationContext(context);</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">System.out.println(hello.getHelloWord());</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;"><br />
</span></font></p>
<p align="left" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: left; "><font color="#333333" face="宋体"><span style="line-height: 25px;">　就Bean而言，降低了对Spring的依赖，可以比较容易从现有的框架中脱离。</span></font></p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/syniii/aggbug/338906.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/syniii/" target="_blank">杨罗罗</a> 2010-11-24 11:14 <a href="http://www.blogjava.net/syniii/archive/2010/11/24/338906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>