Spring總結實例之消息與事件
本文轉自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
2、用于國際化的兩個消息資源文件:xiyou_en_US.properties和xiyou_zh_CN.properties
和
userlogin 使用者 ...{0} 于 ...{1}登入
自定義下雨的事件:RainEvent.java
下雨事件監聽器:RainListener.java
配置文件:applicationContext.xml
測試類:MianTest.java
OK了,這是運行測試類的結果:
查閱關于 Spring 的全部文檔
前幾天看到網友總結的自學經驗,覺得說得很好,引文:光看別人騎自行車很容易, 那么是不是看了幾百遍別人怎么騎自行車你也就馬上能騎著走了呢? 不摔跤是不可能學會的。
還有就是要經常總結:剛才說到會摔跤, 那么這時候就要總結遇到的問題, 這樣下次再遇到就不會再去回憶了. 好記性不如爛筆頭. 注釋, 如果今天不寫, 那么以后只會越來越忙, 以后再也沒時間寫注釋了. 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. |
查閱關于 Spring 的全部文檔