Spring 技术小结

Spring 技术小结


1. Spring IoC容器的意义

使用BeanFactory,根据制定的xml, 动态生成对象然后加载。

只要是从BeanFactory获取的对象,都会根据xml进行装配。


2. Spring MVC

在web.xml配置了DispatcherServlet,让所有请求都被这个servlet拦截。同时配置了这个servlet的初始化对象。
。init-param = /WEB-INF/Config.xml ->
。viewResolver::org.springframework.web.servlet.view.InternalResourceViewResolver
。urlMapping::org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

这个urlMapping的目标,可能是被spring接管的对象,例如SimpleFormController

当配置了DispactcherServlet之后,通过设置合适的初始化对象,能够实现某种MVC模式。



3. spring + blazeds 集成
http://static.springsource.org/spring-flex/docs/1.0.x/reference/html/ch02s02.html

在web.xml配置了2个dispatcherservlet
。*.service === /WEB-INF/remoting-servlet.xml
。/messagebroker/* === /WEB-INF/flex-config.xml 表示把blazeds的请求映射到messagebroker


。第一个servlet继续配置了urlMapping
==HessianServiceExporter可将一个普通bean导出成远程服务 这样这些被映射出来的service可以通过url访问。
问题:这些service有固定的方法,比如execute,那么这些方法如何被调用了?代码上看,是被command调用了。
回答:见第二个配置

。第二个servlet同样配置了urlMapping;还包括
..MessageBrokerHandlerAdapter
..RemotingDestinationExporter -> callDisptacherService -> CallDispatcher -> Command.execute
问题:那么CallDispatcher的Call是如何调用的?
回答:在Flash的xml文件里面指定调用了。

 


这样故事就全部被串起来了。

首先blazeds是个servlet,被封装过后,能够解析flash传输的amf格式。

通过spring的配置,flash的请求被转移到了messagebroker = blazeds,同时这个messagebroker依赖了特定的bean,例如callHandler. 这些handler又依赖了service 的属性,这个属性就是我可以控制的,同时被flash调用的。

例如

 



what is web.xml :: listener 
它能捕捉到服务器的启动和停止! 在启动和停止触发里面的方法做相应的操作!
一定是httpServlet
http://zhidao.baidu.com/question/39980900


如何加载services-config.xml

MessageBrokerFactoryBean将会去寻找BlazeDS的配置文件(默认位置为/WEB-INF/flex/services-config.xml)

你可能感兴趣的:(Spring 技术小结)