`
hanwei59
  • 浏览: 34657 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Spring总结实例之消息 事件

    博客分类:
  • Java
阅读更多

    今天看了美河夜色狼族的一集Spring视频,是关于Bean的高级部分:消息和事件。以前看书或看视频,只是看了却没有动手编代码,看后就忘了。

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

    还有就是要经常总结:刚才说到会摔跤, 那么这时候就要总结遇到的问题, 这样下次再遇到就不会再去回忆了. 好记性不如烂笔头. 注释, 如果今天不写, 那么以后只会越来越忙, 以后再也没时间写注释了. 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

<!---->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.

 

分享到:
评论
2 楼 hanwei59 2007-08-27  
这有美河的ftp地址,自己下吧。
FTP地址:60.190.223.247
FTP帐号:eimhe.com
FTP密码:原创
ftp://eimhe.com:原创@60.190.223.247/
下的部分目录结构:
├─[美河原创作品]J2EE系列讲座之Hibernate
│hibernate1.rar
│hibernate2.1.rar
│hibernate2.2.rar
│hibernate2.3.rar
├─[美河原创作品]J2EE系列讲座之SPRING
│spring1.rar
│spring2.rar
│spring3.rar
│spring3a.rar
│spring3b.rar
├─[美河原创作品]J2EE系列讲座之SSH
│ssh1.rar
│ssh2.1.rar
│ssh2.2.rar
├─[美河原创作品]J2EE系列讲座之STRUTS
│struts1.rar
│struts2.rar
│struts3.1.rar
│struts3.2.rar
│struts3.rar
│struts4.rar
如:
ftp://eimhe.com:原创@60.190.223.247/[美河原创作品]J2EE系列讲座之SPRING/spring1.rar
1 楼 lizhaosuper 2007-08-27  
可以把讲spring的是视频给共享一下不

相关推荐

    spring mongodb 用法总结和实例

    spring mongodb mongodb实例,spring data mongodb 操作实例总结

    spring完整demo实例

    这是我自己总结的spring的一些特征,希望对你有所帮助,只需要改下路径就能用

    Spring+Hibernate+MySql的应用实例

    实现了Spring+Hibernate+MySql的融合,通过部分修改调整,可以直接运行.本人亲自测试过,总结和不能运行原因已归纳在文件中

    spring 学习总结

    Spring 学习总结 Spring 是一个广泛应用于企业级 Java 应用程序的开源框架,提供了一个灵活的、可扩展的、可维护的架构。Spring 框架主要分为七个模块:Core Container、AOP、ORM、Web、Web Services、JMS 和 Test...

    Spring aop使用探究实例

    通过对SRPING aop的使用和研究,总结出来的SPRING AOP使用原理,以及在使用spring aop过程中要注意的问题

    spring定时器3.0之前和3.0之后以及相应的项目实例

    通过总结师兄师姐的例子以及前人的经验,总结出spring的项目实例,其中包含3.0之前和3.0之后的spring版本,分别以2.5.6版本和3.0.1版本为例,给出了项目实例,方便大家学习交流。

    spring事务管理几种方式代码实例

    spring事务管理几种方式代码实例:涉及编程式事务,声明式事务之拦截器代理方式、AOP切面通知方式、AspectJ注解方式,通过不同方式实例代码展现,总结spring事务管理的一般规律,从宏观上加深理解spring事务管理特性...

    Spring装配bean方法实例总结

    主要介绍了spring装配bean方法实例总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring总结——Spring容器、Spring中的IoC

    文章目录Spring总结Spring容器控制反转(IoC)基于XML的IoC Spring总结 Spring容器 什么是Spring容器 从概念上讲:Spring 容器是 Spring框架的核心,是用来管理对象的。容器将创建对象,把它们连接在一起,配置它们...

    spring框架技术+第2天+xmind思维导图

    总结,我们会选择第一种方式,因为spring的存在就是要消除工厂模式,因为工厂本身就会在每次调用时new出对象,只是把new的工作换了个地方而已。bean作用域singleton prototype;bean作用域request session global...

    跟开涛学Spring

    1.27 【第六章】 AOP 之 6.8 切面实例化模型 ——跟我学spring3 . . . . . . . . . . . . . . . . . . . . . . . . . . . .282 1.28 【第六章】 AOP 之 6.9 代理机制 ——跟我学spring3 . . . . . . . . . . . . . ...

    spring—MVC的注解实例

    如题。里面的内容总结出了spring相关的一些注解事例。内容丰富。不会让你失望的。

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. Resource 接口 4.3. 内置 Resource 实现...

    Spring 2.0 开发参考手册

    3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. Resource 接口 4.3. 内置 ...

    spring.doc

    Spring的IOC总结: 20 3.5 依赖注入(DI) 20 3.5.1 使用构造器注入 20 3.5.2 使用属性setting方法进行注入 21 3.5.3 装配list集合 22 3.5.4 装配set集合 22 3.5.5 装配map 22 3.5.6 装配Properties 23 3.6 注解注入 ...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    Spring中文帮助文档

    3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-...

    Spring 应用上下文获取 Bean 的常用姿势实例总结

    主要介绍了Spring 应用上下文获取 Bean,结合实例形式总结分析了Spring 应用上下文获取 Bean的实现方法与操作注意事项,需要的朋友可以参考下

    Spring API

    3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-...

Global site tag (gtag.js) - Google Analytics