spring入门实例-Aware

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());
	}
}
扫描二维码关注公众号,回复: 685683 查看本文章

猜你喜欢

转载自blackproof.iteye.com/blog/1608359