spring入门实例-Aware
实例:
配置文件:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="listener" class="com.myspring.aware.PropertyGettedListener"></bean>
<bean id="helloBean" class="com.myspring.aware.HelloBean">
<property name="helloWord">
<value>oracle</value>
</property>
</bean>
</beans>
bean实现Aware接口:(以applicationAware为例)
public class HelloBean implements ApplicationContextAware
{
private ApplicationContext applicationContext;
private String helloWord = "Hello!World";
@Override
public void setApplicationContext(ApplicationContext context) throws BeansException
{
// TODO Auto-generated method stub
this.applicationContext = context;
}
public void setHelloWord(String helloWord)
{
this.helloWord = helloWord;
}
public String getHelloWord()
{
applicationContext.publishEvent(new PropertyGettedEvent("{"+helloWord+"} is getted"));
return helloWord;
}
}
applicationContext发出事件,在配置文件里的listener就会接受事件
监听者:
public class PropertyGettedListener implements ApplicationListener<ApplicationEvent>
{
@Override
public void onApplicationEvent(ApplicationEvent event)
{
// TODO Auto-generated method stub
System.out.println(event.getSource().toString());
}
}