预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一,Spring框架提供了构建Web应用程序全功能MVC模块,具备简朴性,可测试性和松耦合特点.使用JavaBean代替EJB.Spring是一种轻量级控制反转IoC(InversionofControl)和面向切面容器框架.控制反转是容器控制程序,依赖注入是由容器动态将某种依赖关系注入到组件之中.依赖注入减轻了组件之间依赖关系,提高了组件之间可移植性.依赖注入有三种方式:接口注入,设值办法注入,构造子注入.SpringWebMVC解决Http祈求大体过程:一旦Http祈求到来,DispatcherSevlet负责将祈求分发。DispatcherServlet可以以为是Spring提供前端控制器,所有祈求均有通过它来统一分发。在DispatcherServlet将祈求分发给SpringController之前,需要借助于Spring提供HandlerMapping定位到详细Controller。HandlerMapping是这样一种对象,它可以完毕客户祈求到Controller之间映射。在Struts中,这种映射是通过struts-config.xml文献完毕。其中,Spring为Controller接口提供了若干实现,例如Spring默认使用BeanNameUrlHandlerMapping。尚有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping。SpringController将解决来自DispatcherServlet祈求。SpringController类似于strutsAction,可以接受HttpServletRequest和HttpServletResponse。Spring为Controller接口提供了若干实现类,位于org.springframework.web.servlet.mvc包中。由于Controller需要为并发顾客解决上述祈求,因而实现Controller接口时,必要保证线程安全并且可重用。Controller将解决客户祈求,这和StrutsAction扮演角色是一致。一旦Controller解决完客户祈求,则返回ModelAndView对象给DispatcherServlet前端控制器。ModelAndView中包括了模型(Model)和视图(View)。从宏观角度考虑,DispatcherServlet是整个Web应用控制器;从微观角度考虑,Controller是单个Http祈求解决过程中控制器,而ModelAndView是Http祈求过程中返回模型和视图。前端控制器返回视图可以是视图逻辑名,或者实现了View接口对象。View对象可以渲染客户响应成果。其中,ModelAndView中模型可以供渲染View时使用。借助于Map对象可以存储模型。如果ModelAndView返回视图只是逻辑名,则需要借助Spring提供视图解析器(ViewResoler)在Web应用中查找View对象,从而将响应成果渲染给客户。DispatcherServlet将View对象渲染出成果返回个客户。SpringMVC-mvc.xml配备文献<context:component-scan/>扫描指定包中类上注解,惯用注解有:@Controller声明Action组件@Service声明Service组件@Service("myMovieLister")@Repository声明Dao组件@Component泛指组件,当不好归类时.@RequestMapping("/menu")祈求映射@Resource用于注入,(j2ee提供)默认按名称装配,@Resource(name="beanName")@Autowired用于注入,(srping提供)默认按类型装配@Transactional(rollbackFor={Exception.class})事务管理@ResponseBody@Scope("prototype")设定bean作用域Spring代码:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns=""xmlns:xsi=""xmlns:tx=""xmlns:context=""xmlns:mvc=""xsi:schemaLocation=""><!--自动扫描包名--><context:component-scanbase-package="com.app,com.core,JUnit4"></context:component-scan><!--默认注解映射支持--><mvc:annotation-driven/><!--视图解释类--><beanclass="org.springframework.web