spring和springmvc

1. 为何使用Spring ?前端

    1). 方便解耦,简化开发web

         经过Spring提供的IoC容器,能够将对象之间的依赖关系交由Spring进行控制,避免硬编码所形成的过分程序耦合。spring

    2). AOP编程的支持数据库

         经过Spring提供的AOP功能,方便进行面向切面的编程,如性能监测、事务管理、日志记录等。编程

    3). 声明式事务的支持session

    4). 方便集成各类优秀框架mvc

    5). 下降Java EE API的使用难度app

         如对JDBC,JavaMail,远程调用等提供了简便封装框架

2. 什么是IoC,为什使用IoC ?jsp

    IoC全称Iversion of Controller,控制反转。

    这概念是说你不用建立对象,而只须要描述它如何被建立。你不在代码里直接组装你的组件和服务,可是要在配置文件里描述哪些组件须要哪些服务,以后一个容器(IOC容器)负责把他们组装起来。

    它能指导咱们如何设计出松耦合、更优良的程序。

3. 什么是AOP,为何使用AOP ?

    AOP全称:Aspect-Oriented Programming,面向切面编程。

     AOP,面向切面编程,就是把可重用的功能提取出来,而后将这些通用功能在合适的时候织入到应用程序中,好比事务管理权限控制日志记录、性能统计等。

    AOP并无帮助咱们解决任何新的问题,它只是提供了一种更好的办法,可以用更少的工做量来解决现有的一些问题,使得系统更加健壮,可维护性更好。

4. 什么是Spring的事务管理?

    事务就是对一系列的数据库操做(好比插入多条数据)进行统一的提交或回滚操做,若是插入成功,那么一块儿成功,若是中间有一条出现异常,那么回滚以前的全部操做。这样能够防止出现脏数据,防止数据库数据出现问题。

    开发中为了不这种状况通常都会进行事务管理。

    Spring的声明式事务一般是指在配置文件中对事务进行配置声明,其中包括了不少声明属性,它是经过Spring Proxy帮你作代理,本身不用额外的写代码,只要在Spring配置文件中声明便可;一般用在数据库的操做里面;

    编程式事务就是指经过硬编码的方式作事务处理,这种处理方式须要写代码,事务中的逻辑能够本身定制;能够是数据库的东东,也能够是其余的操做。

    Spring中也有本身的事务管理机制,通常是使用TransactionMananger进行管理,能够经过Spring的注入来完成此功能。

5. Spring框架支持如下五种bean的做用域:

    singleton : 默认值,bean在每一个Spring ioc 容器中只有一个实例。

    prototype:一个bean的定义能够有多个实例。

    request:每次http请求都会建立一个bean,该做用域仅在基于web的Spring ApplicationContext情形下有效。 

    session:在一个HTTP Session中,一个bean定义对应一个实例。该做用域仅在基于web的Spring ApplicationContext情形下有效。

    global-session:在一个全局的HTTP Session中,一个bean定义对应一个实例。该做用域仅在基于web的Spring ApplicationContext情形下有效。

6. 什么是Spring的MVC框架?

    Spring 配备构建Web 应用的全功能MVC框架。Spring能够很便捷地和其余MVC框架集成,如Struts,Spring 的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也容许以声明的方式把请求参数和业务对象绑定。

    spring mvc是一个基于mvc的web框架。spring mvc是spring框架的一个模块,springmvc和spring无需经过中间整合层进行整合。

7. 如何启用注解:

    <context:annotation-config/>

    若是使用<context:component-scan base-package="com.tgb.web.controller.annotation"> </context:component-scan>  则上面内容能够省略 

8. Spring MVC的请求流程:

    第一步:发起请求到前端控制器(DispatcherServlet)

    第二步:前端控制器请求HandlerMapping查找Handler能够根据xml配置、注解进行查找

    第三步:处理器映射器HandlerMapping向前端控制器返回Handler

    第四步:前端控制器调用处理器适配器去执行Handler

    第五步:处理器适配器去执行Handler

    第六步:Handler执行完成给适配器返回ModelAndView

    第七步:处理器适配器向前端控制器返回ModelAndView。ModelAndView是springmvc框架的一个底层对象,包括 Model和view

    第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp)

    第九步:视图解析器向前端控制器返回View

    第十步:前端控制器进行视图渲染。视图渲染将模型数据(在ModelAndView对象中)填充到request域

    第十一步:前端控制器向用户响应结果

相关文章
相关标签/搜索