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 查看本文章