Spring小白到菜鸟之Spring事件入门
2016-10-22 23:40
369 查看
下面使用一个模拟发送邮件的程序学习Spring事件
定义Spring事件类需要实现AppicationEnvent的子类。
实现一个Spring事件的监听类。需要实现ApplicationListener接口。
在xml配置事件监听类
定义Spring事件类需要实现AppicationEnvent的子类。
package four; import org.springframework.context.ApplicationEvent; /** * Spring的事件类 */ public class EventMail extends ApplicationEvent { private String text; private String address; public EventMail(Object source) { super(source); } public EventMail(Object object, String text, String address) { super(object); this.text = text; this.address = address; } public void setAddress(String address) { this.address = address; } public String getAddress() { return address; } public void setText(String text) { this.text = text; } public String getText() { return text; } }
实现一个Spring事件的监听类。需要实现ApplicationListener接口。
package four; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; /** * Spring事件监听类 */ public class EmailNotifer implements ApplicationListener<ApplicationEvent> { @Override public void onApplicationEvent(ApplicationEvent event) { if (event instanceof EventMail) { EventMail eventMail = (EventMail) event; System.out.println("需要发送邮件的地址 " + eventMail.getAddress()); System.out.println("需要发送邮件的正文 " + eventMail.getText()); } else { System.out.println("其它事件" + event); } } }
在xml配置事件监听类
<?xml version="1.0" encoding="UTF-8"?> <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-3.0.xsd"> <!-- 配置监听器 --> <bean class="four.EmailNotifer" /> </beans>
package four; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestDemo { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("four.xml"); EventMail mail=new EventMail("post mail", "Jerry", "NewYork"); // 发布容器事件 ctx.publishEvent(mail); } }
相关文章推荐
- 小白入门笔记——委托和事件
- 从小白到菜鸟【JAVA入门水平】一一2016-09-04到2016-09-13(十天入门JAVA语言)
- 菜鸟入门 认识C#中的委托和事件
- Spring小白到菜鸟修炼之基本概念(1)
- Spring入门学习——使用应用事件进行通信
- (小白学习笔记)Springboot入门(一):Specification
- 一只自动化测试小白的学习记录——Python+Selenium+Sublime 运用API、元素定位、元素操作方法、鼠标键盘事件实现入门Web自动化测试
- 规划与展望——基本计算机总结,JAVA小白到菜鸟【入门水平】
- Eclipse+Maven下Spring与Hibernate整合简单实例(小白入门)
- spring环境搭建&spring快速入门---【小白系列】0基础到熟练应用spring框架(一)
- Spring入门学习笔记(3)——事件处理类
- 吕爱国老师献给入门小白:C语言程序设计入门学习六步曲(菜鸟福利哦!)
- java程序员菜鸟入门之十七spring
- 菜鸟入门 认识C#中的委托和事件
- Spring小白到菜鸟修炼之基本概念(2)
- STM32小白入门(第13天)-------RTC实时时钟和闹钟事件
- Spring入门之事件处理
- Spring入门06 - Bean定义档进阶读取
- Spring入门08 - 不使用XML定义档
- Spring入门03 - 依赖注入DI