· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

开发技巧:Spring总结实例之消息与事件

发布时间:2007.11.13 05:03     来源:赛迪网技术社区    作者:佚名

  本文转自javaeye,文中内容不代表本站观点,仅提供参考。

  前几天看到网友总结的自学经验,觉得说得很好,引文:光看别人骑自行车很容易, 那么是不是看了几百遍别人怎么骑自行车你也就马上能骑着走了呢? 不摔跤是不可能学会的。

  还有就是要经常总结:刚才说到会摔跤, 那么这时候就要总结遇到的问题, 这样下次再遇到就不会再去回忆了. 好记性不如烂笔头. 注释, 如果今天不写, 那么以后只会越来越忙, 以后再也没时间写注释了. If you doesn't have time to do it today, then when do you have time to do it tomorrow?

  所以今天就写个Spring的消息和事件实例。

  1、JavaBean:User.java

package cn.xy.hw;

/** *//**
* @author hanwei
*
*/
public class User ...{
 private String name;
 private int age;

 public int getAge() ...{
  return age;
 }
 public void setAge(int age) ...{
  this.age = age;
 }
 public String getName() ...{
  return name;
 }
 public void setName(String name) ...{
  this.name = name;
 }
}

  2、用于国际化的两个消息资源文件:xiyou_en_US.properties和xiyou_zh_CN.properties

userlogin user ...{0} login at ...{1}

  和

  userlogin 使用者 ...{0} 于 ...{1}登入

  自定义下雨的事件:RainEvent.java

package cn.xy.hw;

import org.springframework.context.ApplicationEvent;

/** *//**
* @author hanwei
*
*/
public class RainEvent extends ApplicationEvent ...{

 public RainEvent(Object arg0) ...{
  super(arg0);
  System.out.println("乌云密布、闪电、打雷,紧接着,下起了瓢泼大雨。");
 }
}

  下雨事件监听器:RainListener.java

package cn.xy.hw;

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

/** *//**
* @author hanwei
*
*/
public class RainListener implements ApplicationListener ...{

 /**//* (non-Javadoc)
 * @see org.springframework.context.ApplicationListener#onApplicationEvent(
org.springframework.context.ApplicationEvent)
 */
 public void onApplicationEvent(ApplicationEvent arg0) ...{

  if(arg0 instanceof RainEvent)...{
   System.out.println("唐僧大喊:"+arg0.getSource()+"赶快收衣服喽!");
  }
 }
}

  配置文件:applicationContext.xml

<!--sp-->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-2.0.xsd">

<bean id="user" class="cn.xy.hw.User" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="name">
 <value>hanweivalue>
  property>
 <property name="age">
 <value>20value>
  property>
 bean>

 <bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="basename" value="xiyou">property>
bean>

<bean id="listener" class="cn.xy.hw.RainListener" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
bean>

beans>

  测试类:MianTest.java

package cn.xy.hw;

import java.util.Calendar;
import java.util.Locale;

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

/** *//**
* @author hanwei
*
*/
public class MianTest ...{

 public static void main(String[] args) ...{
  ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  User user = (User)context.getBean("user");

  Object[] obj=new Object[]...{user.getName(),Calendar.getInstance().getTime()};
System.out.println(context.getMessage("userlogin",obj
,"找不到指定模块!",Locale.CHINA));
  System.out.println(context.getMessage("userlogin",obj
,"找不到指定模块!",Locale.US));

  context.publishEvent(new RainEvent("下雨了!"));
 }
}

  OK了,这是运行测试类的结果:

使用者 hanwei 于 07-8-26 下午6:14登入
user hanwei login at 8/26/07 6:14 PM
乌云密布、闪电、打雷,紧接着,下起了瓢泼大雨。
唐僧大喊:下雨了!赶快收衣服喽!
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly. 


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 深入浅出学习Java设计模式之迭代器模式 (11-12) · Hibernate配置文件中映射元素详解 (11-12)
· Java语言相关的重要术语解析 (11-12) · 提升JSP应用程序的七大绝招 (11-12)
· 上传文件的Servlet代码 (11-09) · JSP中文网新闻发布系统 (11-09)
· JSP中文网新闻发布系统 (11-09) · 几个漂亮的SWING组件(源代码) (11-09)
· J2EE基础--Struts开发中异常处理机制 (11-09) · SCWCD考试大纲中各部分的题量分布 (11-09)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:扭亏为盈 联想09年Q2翻番
·专题:Tech·Ed 2009微..
·直播:2009互联网大会..
·迅雷搜狐"互搏" 谁动了..
专题:诺基亚危局已现 或重蹈摩托覆辙
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
·专题:排排坐开商店 三..
商务演示需求分析 多媒体会议室必备投影
·VMware在京隆重举行2009..
·专题:笔记本频道10月热..
·专题:学生机市场 惠普 ..
专题:Tech.Ed 2009微软技术大会
·专题:2009 SYBASE 亚太..
·专题:微软新一代桌面操..
·专题:2009年第3届CSDN..