您的位置:首页 > 编程语言 > Java开发

Spring学习-webcontex的自动配置和事件传播机制及使用

2007-10-25 13:04 579 查看
Web Project 中 Spring 的ApplicationContext自动根据配置文件初始化的设置过程,

在web.xml文件中配置一个listener,其listener class 为” org.springframework.web.context.ContextLoaderListener”,

另一种实现方式是,在web.xml中配置一个servlet,配置如下:

<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

通过1或者2的配置之后,web窗口会自动加载/web-inf/applicationcontext.xml文件初始化为applicationcontext对象,如果需要指定spring配置文件的路径名和文件名,可通过4进行配置。

在web.xml文件中可以配置spring配置文件的路径和文件名,即通过配置context-param项,其param-name为contextConfigLocation,param-value为Spring配置文件的路径。


Spring中的事件传播机制及使用

Spring中的事件传播机制主要涉及两个接口和一个类,分别是ApplicationListener,ApplicationContextAware和ApplicationEvent,一个类A实现
ApplicationContextAware接口,实现其方法后可得到一个ApplicationContext的实例;自定义事件类B继承ApplicationEvent;自定义事件处理类C实现ApplicationListener,在A的要触发自定义事件的方法中,构造一个自定义事件的实例,然后通过applicationcontext的实例调用publicEvent(e)方法将此自定义事件发布,spring框架会检查所有的bean,看有哪些bean实现了ApplicationListener接口,只要实现了,就会把此事件发送给他处理。而在自定义事件处理中,可以根据事件类型来决定是不是要做相应的处理。

实际上,Spring中的事件传播机制中没有太多新鲜的东东,只是不用明确定义事件源与事件处理器的监听关系,而是由SPRING框架来处理这种监听关系,只要是你有继承自applicationEvent的事件发生,我就把此事件发送到所有的实现了applicationListener接口的bean,是否处理就由他们自己决定了。OVER
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐