Java-Android-jwebee
          Java-Android-jwebee
          對IT人來說,要成為一個(gè)優(yōu)秀的技術(shù)型管理者,除了需要具備扎實(shí)的技術(shù)基礎(chǔ)之外,還應(yīng)該培養(yǎng)良好的人際關(guān)系能力、談判與溝通技能、客戶關(guān)系與咨詢技能、商業(yè)頭腦和財(cái)務(wù)技能以及創(chuàng)新意識(shí),此外還要有巧妙的激勵(lì)技巧和化解沖突與解決突發(fā)問題的能力.

          ????? 最近在研究Spring? 感覺不錯(cuò)。。。。。???

          ????? ApplicationContext中的事件處理是通過ApplicationEvent類和ApplicationListener接口來提供的。如果在上下文中部署一個(gè)實(shí)現(xiàn)了ApplicationListener接口的bean,那么每當(dāng)一個(gè)ApplicationEvent發(fā)布到ApplicationContext時(shí),這個(gè)bean就得到通知。

          ????? 以下是一個(gè)關(guān)于Spring事件的代碼。


          package com.xinnuo.spring.event;

          /**
          ?* email 對象
          ?* @author 周行
          ?*
          ?*/
          public class Email {
          ?private String name;
          ?private String email;
          ?private String subject;?
          ?public String getEmail() {
          ??return email;
          ?}
          ?public void setEmail(String email) {
          ??this.email = email;
          ?}

          ?public String getName() {
          ??return name;
          ?}
          ?public void setName(String name) {
          ??this.name = name;
          ?}
          ?public String getSubject() {
          ??return subject;
          ?}
          ?public void setSubject(String subject) {
          ??this.subject = subject;
          ?}

          }


          package com.xinnuo.spring.event;

          import org.springframework.context.ApplicationEvent;
          import org.springframework.context.ApplicationListener;

          /**
          ?* 事件監(jiān)聽器
          ?*
          ?* @author 周行
          ?*
          ?*/
          public class BlackListNotifier implements ApplicationListener {
          ?public void onApplicationEvent(ApplicationEvent event) {
          ??if (event instanceof BlackListEvent) {
          ???Email email = (Email)event.getSource();
          ???System.out.println("name:"+email.getName());
          ???System.out.println("email:"+email.getEmail());
          ???System.out.println("subject:"+email.getSubject());
          ??}
          ?}
          }


          package com.xinnuo.spring.event;

          import org.springframework.context.ApplicationEvent;

          /**
          ?* 事件
          ?*
          ?* @author 周行
          ?*
          ?*/
          public class BlackListEvent extends ApplicationEvent{
          ?private static final long serialVersionUID = 5866734089078382009L;

          ?public BlackListEvent(Object source) {
          ??super(source);
          ?}
          }


          package com.xinnuo.spring.event;

          import java.util.List;

          import org.springframework.context.ApplicationContext;
          import org.springframework.context.ApplicationContextAware;

          /**
          ?* @author 周行
          ?*
          ?*/
          public class EmailBean implements ApplicationContextAware {

          ??? private List blackList;
          ??? private ApplicationContext ctx;
          ??? private Email email;
          ??? public void setEmail(Email email) {
          ??this.email = email;
          ?}

          ?public void setBlackList(List blackList) {
          ??????? this.blackList = blackList;
          ??? }
          ???
          ??? public void setApplicationContext(ApplicationContext ctx) {
          ??????? this.ctx = ctx;
          ??? }
          ??? public void sendEmail(String address) {
          ??????? if (blackList.contains(address)) {
          ??????????? BlackListEvent evt = new BlackListEvent(email);
          ??????????? //發(fā)布事件
          ??????????? ctx.publishEvent(evt);
          ??????????? return;
          ??????? }
          ??? }
          }


          package com.xinnuo.spring.event;

          import org.springframework.context.ApplicationContext;
          import org.springframework.context.support.FileSystemXmlApplicationContext;

          /**
          ?* Spring 事件測試
          ?* @author 周行
          ?*
          ?*/
          public class Demo {
          ?public static void main(String[] args) {
          ??ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml");
          ??EmailBean EmailBean = (EmailBean)context.getBean("emailer");
          ??EmailBean.sendEmail(black@list.org);
          ?}
          }


          applicationContext.xml

          <beans>
          ?<bean id="emailer" class="com.xinnuo.spring.event.EmailBean" abstract="false" singleton="true" lazy-init="default" autowire="default" dependency-check="default">
          ??<property name="blackList">
          ???<list>
          ????<value>black@list.org</value>
          ????<value>white@list.org</value>
          ????<value>john@doe.org</value>
          ???</list>
          ??</property>
          ??<property name="email">
          ???<ref bean="email" />
          ??</property>
          ?</bean>

          ?<bean id="blackListListener" class="com.xinnuo.spring.event.BlackListNotifier"></bean>

          ?<bean id="email" class="com.xinnuo.spring.event.Email" abstract="false" singleton="true" lazy-init="default" autowire="default" dependency-check="default">
          ??<property name="name">
          ???<value>zhouxing</value>
          ??</property>
          ??<property name="email">
          ???<value>zx_zhouxing@sina.com</value>
          ??</property>
          ??<property name="subject">
          ???<value>你好,歡迎光臨!</value>
          ??</property>
          ?</bean>
          </beans>



          jwebee

          我的個(gè)人網(wǎng)站
          posted on 2006-12-01 15:42 周行 閱讀(743) 評論(0)  編輯  收藏 所屬分類: IT技術(shù)
          Java-Android-jwebee
          主站蜘蛛池模板: 长泰县| 雷州市| 寻乌县| 图片| 饶平县| 遂宁市| 吉林市| 禄劝| 左贡县| 津市市| 海安县| 高平市| 夹江县| 黑山县| 隆昌县| 定兴县| 靖远县| 武冈市| 斗六市| 樟树市| 盐津县| 鄂伦春自治旗| 瑞金市| 云安县| 特克斯县| 合肥市| 精河县| 塔河县| 沭阳县| 杨浦区| 洪洞县| 霸州市| 鄂尔多斯市| 随州市| 京山县| 新巴尔虎左旗| 三明市| 定州市| 揭东县| 诸城市| 东乡|