赞
踩
90. 为什么要使用 spring?
1. 方便解耦,可以将对象间的依赖关系交给spring
2. spring支持aop编程,可以很方便的对程序进行监控,拦截
3. 方便测试,支持junit
4. 集成其他框架比较方便
5. 声明式事务
91. 解释一下什么是 aop?
aop即面向切面编程,在原有功能的基础上通过aop添加新的功能,而原有的功能并不知道新添加的功能.
简单来说,就是在某个类或者方法执行前后打个标记,声明在执行到这里之前要先执行什么,之后执行什么,插入了新的执行方法.
92. 解释一下什么是 ioc?
ioc控制反转.即把创建对象和维护对象之间关系的权利交给spring容器去做,程序自己不再维护.
传统:自己使用new 或者getInstance直接或者间接创建一个对象(高耦合,不易测试)
spring:容器使用工厂模式为了创建了所需要的对象,我们不用自己创建,直接调用即可.
93. spring 有哪些主要模块?
1. spring core: core是spring的核心类库,它的所有功能都依赖于该类库,主要实现IOC功能.
2. AOP: spring aop提供了常用的拦截器供用户配置.
3. ORM: 该模块提供对常用的ORM框架的管理和辅助支持.spring自己不实现ORM,只是对常见的ORM进行封装管理
4. DAO: spring提供对jdbc的支持,统一管理jdbc事物,并不对其进行实现
5. WEB: 提供对常用框架,如struts2的支持,将spring的资源注入给这些框架,也能在这些框架的前后插入拦截器
6. Context: 提供框架式的bean访问方式,其他程序可以通过Context访问spring的bean资源
7. MVC: 提供一套轻量级的MVC实现,简单方便.
94. spring 常用的注入方式有哪些?
1.构造器注入:可以在xml中通过constructor-arg标签来注入一个对象到构造器中
2.setter方法注入:首先要配置被注入的bean,在该bean对应的类中,应该有要注入的对象属性或者基本数据类型的属性。
例如:为UserBiz类注入UserDAO,同时为UserBiz注入基本数据类型String,那么这时,就要为UserDAO对象和String类型设置setter方法.,用于进行依赖注入。
3.注解注入:基于注解在xml文件中开启注解扫描以后,就可以在filed上使用注解@Autowired或者@Rsource来注入对象.
95. spring 中的 bean 是线程安全的吗?
不是的,spring并没有对单例bean做多线程的封装.
96. spring 支持几种 bean 的作用域?
1.singleton: 单例,默认作用域,在spring容器中此种类型的bean只有一个
2.prototype: 原型,每次调用getBean方法就会产生一个新的实例.
3.request: 每次HTTP请求都会产生不同的bean实例.
4.session: 每次会话产生一个实例
5.global-session: 所有会话共享一个实例
97. spring 自动装配 bean 有哪些方式?
1.xml配置方式
2.注解扫描方式
98. spring 事务实现方式有哪些?
1.编程式事务 允许用户在代码中精确定义事务的边界
2.声明式事务 基于AOP,将操作和事务管理分离.
99. 说一下 spring 的事务隔离?
隔离级别定义了一个事务可能受其他并发事务影响的程度。
spring设置了五种事务个例级别:
1.ISOLATION_DEFAULT: 使用数据库默认的隔离级别
2.ISOLATION_READ_UNCOMMITTED: 读未提交,最低的隔离级别,允许读未提交的数据变更,可能会导致脏读,幻读或不可重复读.
3.ISOLATION_READ_COMMITTED: 读已提交,允许读取已经提交的数据,可以阻止脏读,但是幻读和不可重复读有可能发生.
4.ISOLATION_REPEATABLE_READ: 可重复读,保证了一个事务不能读取另一个未提交的数据.可以避免不可重复读和脏读
5.ISOLATION_SERIALIZABLE: 串行化,事务被处理为顺序执行,通过锁定事务相关的数据库来实现.
100. 说一下 spring mvc 运行流程?
1.用户向服务器发送请求,被springMVC的前端控制器拦截(DispatcherServlet)
2.前端控制器对请求的URL进行解析,得到标识符URI,根据URI调用处理器映射器
3.处理器映射器与该Handler有关的对象和拦截器信息返回给DispatcherServlet
4.前端控制器根据获得的处理器信息,调用对应的处理器适配器HandlerAdapter处理数据
5.处理器适配器提取request中的模型数据,开始执行Handler,在此之前还可以做数据合适的转换和数据验证等. 处理完成后向DispatcherServlet返回一个ModelAndView对象
6.前端控制器根据ModelAndView选择合适的视图解析器ViewResolver处理数据
7.视图解析器根据model和view渲染视图,将结果返回给客户端
101. spring mvc 有哪些组件?
1. DispatcherServlet 前端控制器
2. HandlerMapping 请求派发,建立请求和处理器的映射
3. Controller 处理器
4. ModelAndView 封装模型和试图信息
5. ViewResolver 视图处理器,定位页面
102. @RequestMapping 的作用是什么?
映射请求,指定哪些URL可以被该处理器处理.
103. @Autowired 的作用是什么?
根据类型从容器中取出对象进行注入
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。