<%@ page contentType="text/html; charset=gb2312"%> Spring总结实例之消息与事件
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
Spring总结实例之消息与事件
     发布者: 发布时间:2007-09-06
  本文转自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技术网(www.java114.com))
 
更多精彩文章:
垃圾清理势在必行——java垃圾收集算法
Java程序员需要了解的几个开源协议
Spring 2.X 中AOP的使用浅析
Java实战篇:设计自己的Annotation
Java中调用SQL Server存储过程示例
Java中消除实现继承和面向接口编程
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(6347)
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(686)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(4899)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(5976)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号