Spring&Spring MVC&Mybatis框架相关知识点
Spring是一个轻量级的IOC和AOP容器框架。是为JAVA应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需关注业务需求。常见的配置方式有:基于XML的配置,基于注解的配置。
主要由几个模块组成:
Spring core: 核心类库,提供IOC服务
Spring context:提供框架式的Bean访问方式
Spring AOP:AOP服务
Spring DAO:对JDBC的抽象,简化了数据访问异常的处理
Spring ORM:对现有的ORM框架的支持
Spring Web:提供了基本的面向Web的综合特性,例如多方文件上传
Spring MVC:提供面向Web应用的model-view-control实现。
1.项目中为什么使用Spring框架?
轻量:Spring 是轻量的,基本的版本大约2MB.
控制反转(IOC):Spring通过控制反转实现了松散耦合,对象给出他们的依赖,而不是创建或者查找依赖的对象们。
面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
容器:Spring包含并管理应用中对象的生命周期和配置、
MVC框架:
事务管理:Spring提供一个持续的事务管理接口,可以扩展上至本地事务下至全局事务
异常处理:Spring提供方便的API把具体技术相关的异常(如JDBC)转化为一致的unchecked异常
2.谈谈你对Spring AOP的理解
AOP,面向切面编程,能够将那些与业务无关,却为业务模块共同调用的逻辑或责任(如,事务处理,日志管理,权限控制)封装起来,便于减少系统的重复代码。降低模块间的耦合度,并有利于未来的可扩展性和可维护性。
Spring AOP是基于动态代理的,如果要代理的对象实现了某个接口,那么Spring AOP就用使用JDK动态代理去创建对象;而对于没有实现接口的对象,就无法使用JDK动态代理,转而使用CGLIB动态代理生成一个被代理对象的子类来作为处理。
3.说说你对Spring的IOC是怎么理解的
①IOC就是控制反转,是指创建对象的控制权的转移。以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中,并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系。依赖注入(DI)和控制反转是同一个概念的不同角度的描述,即应用程序在应用时依赖IOC容器来动态注入对象需要的外部资源。
②最直观的一点说就是,IOC让对象的创建不用去new了,可以由Spring自动创建,使用Java反射机制,根据配置文件在运行时动态的去创建对象以及管理对象,并调用对象的方法的。
③SPring的IOC有三种注入方式:构造器注入,setter方法注入,根据注解注入。
IOC让相互协作的组件保持松散耦合,而AOP编程允许我们把遍布于应用各层的功能分离出来形成可重用的功能组件。
4.Spring框架的事务管理有哪些优点?
它为不同的事务API(如JTA,JDBC,Hibernate,JPA,JDO)提供了统一的编程模型。它为编程式事务管理提供了一个简单的API而非一系列复杂的API(如JTA);它支持声明式事务管理。它可以和Spring的多种数据访问技术很好融合。
编程式事务管理:通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。
声明式事务管理:将事务管理和业务代码分离。只需要通过注解或者XML配置管理事务。
5.说说对Spring MVC的理解
MVC:是一种设计模式
Spring MVC是Spring的一个模块
工作原理:
①用户发送请求至前端控制器DispatcherServlet
②DispatcherServlet收到请求调用HandlerMapping处理器映射器
③处理器映射器找到具体的处理器(可以根据