spring面试题(2)
f-sp-1. Spring的aop你怎样实现?
用动态代理和cglib实现,有接口的用动态代理,无接口的用cglib
f-sp-2. Spring在SSH起什么作用
整合作用
f-sp-3. Spring容器内部怎么实现的
内部用Map实现,或者说HashMap
f-sp-4. 怎么样理解IOC与AOP
IOC是一种控制反转的思想,降低了对象的耦合度(客户端只依赖接口,不依赖实现,就是解耦合,通过反射实现),AOP是面向切面编程,非侵入式编程,实现了非业务性编程(公共功能),譬如日志,权限,事务等等
f-sp-5. Spring的事务,事务的作用。
Spring里面的事务分为编程式事务和声明式事务,一般用声明式事务,用来控制数据操作的完整性,一致性
f-sp-6. Spring的IOC和AOP你在项目中是怎么使用的?
IOC主要来解决对象之间的依赖问题,把所有的bean的依赖关系通过配置文件或者注解关联起来,降低了耦合度,AOP一般用来事务
f-sp-7. Spring主要使用了什么模式?
工厂模式,单例模式,代理模式
f-sp-8. Spring bean的作用域.
Scope常见的有单例或者多例
f-sp-9. Spring的事务是如何配置的?
1. 2. 3.
f-sp-10. Spring的配置文件最好使用什么文件?
xml,因为它是最简单,最流行的数据格式
f-sp-11. 你使用过Spring中的哪些技术?
bean的管理,aop技术,ioc技术 ,事务等
f-sp-12. 为什么要用Spring
降低对象耦合度,让代码更加清晰,提供一些常见的模版
f-sp-13. Spring的注解
1.bean的标记注解
@Component 通用注解 @Repository 持久层注解 @Service 业务层注解 @Controller:表现层注解
2.bean的注入注解
@AutoWired @Resource
f-sp-14. Spring的AOP中有那些通知?写过类似Spring AOP的操作吗?
简单的写过,譬如前置通知,后置通知的方法,环绕通知,事务就是典型的AOP的实现
f-sp-15. Spring中的AOP在你项目中是怎么使用的,用在哪里?
和Struts2整合时候,和Hibernate整合时候都可以用得到, 事务用的最多,还有个别日志,权限功能也可以用到
f-sp-16. Spring的事务(传播属性,隔离级别)。
七大传播属性,四大隔离级别
f-sp-17. Spring的事务在项目中你是怎么用的、说说AOP、编程式事务要实现还是继承什么接口?
在业务层加个事务控制
f-sp-18. BeanFactory与Factory的区别
BeanFactory是Spring和核心顶级接口,它里面默认实现了Bean的管理,以及生命周期,bean的作用域管理,Facory只是简单的创建对象
f-sp-19. Spring DI的几种方式
setter注入和构造器注入,一般用setter注入
f-sp-20. 依赖注入的原理
就是通过反射机制生成想要的对象注入
f-sp-21. 说一下整合Spring的核心监听器。
是在web.xml里面配置的ContextLoaderListener
f-sp-22. Spring配置文件中的核心是个监听器,它用来干嘛的?
用来初始化Spring的容器
f-sp-23. Spring你们为什么用配置文件而不使用注解?
配置文件耦合度低,容易维护,尤其是在切面或者事务的时候,只配置一次就可以让很多代码拥有事务,
f-sp-24. Spring和Hibernate的事务有什么区别?
Spring的事务提供了统一的事务处理机制,包含了JDBC,Hibernate,IBatis等事务实现,而Hibernate只处理自己事务
f-sp-25. Struts2与Spring整合先启动那个容器。
先启动监听器,因为先要初始化容器,初始化容器了以后Action才能从容器里面获得
f-sp-26. Spring的事务管理器有几种。
声明式事务和编程式事务,我们一般用声明式事务
f-sp-27. 让你写Spring的容器,你是怎样实现的?
我们可以写一个HashMap,如果并发考虑的话要写并发的Map,把bean的名字放在map的key,bean的实现map的value
f-sp-28. 谈谈Spring的IOC和AOP,如果不用Spring,怎么去实现这两个技术。
ioc用反射实现 ,AOP用动态代理实现
f-sp-29. Spring事务和Hibernate事务的操作上面的区别?
hibernate的事务只能手动显示代码的方式控制创建事务与提交事务以及回滚。
Spring可以通过配置文件设定一类class事务的创建与提交以及回滚,也可以显示代码方式控制。
f-sp-30. 讲下Spring的七大事务传播
有七个,常用有两个REQUIERD, REQUIRED_NEW,REQUIERD表示两个事务的方法调用的时候,前面的时候和后面的合并成一个事务,REQUIRED_NEW是重启一个事务,各干各的
f-sp-31. 在同一进程里,有A,B两个方法都对不同的表进行更新数据,假如A方法出异常了,若要B方法执行,怎样配置事务级别,若不要B方法执行,又该怎样配置?
前者用REQUIRED_NEW,后者用REQUIRED
f-sp-32. 事务的隔离级别
Spring定义有四种,但是常见的是READ_COMMIT,Oralce有两种实现,MYSql有四种
f-sp-33. Spring的IOC容器与工厂类有什么区别?
IOC(Inversion of Control)对Bean的控制能力更强,能控制对象自动注入,还可以控制生命周期,而工厂类只是简单的创建一个对象,没有什么控制能力
f-sp-34. 事务的安全问题:锁机制的实现原理及在项目中的使用
spring面试题(2)的更多相关文章
- Spring面试题
69道Spring面试题和答案 原文地址 译者:深海(1422207401@qq.com) 校对:方腾飞 目录 Spring 概述 依赖注入 Spring beans Spring注解 Spr ...
- 【笔试题】Spring笔试题
spring笔试题 1.Spring支持的事务管理类型 Spring支持两种类型的事务管理: 编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护. 声明式事务管理:这意味 ...
- 49道Spring面试题和答案
49道Spring面试题和答案 Spring 概述 1. 什么是spring? Spring 是个Java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE ...
- 史上最全 69 道 Spring 面试题和答案
史上最全 69 道 Spring 面试题和答案 目录Spring 概述依赖注入Spring beansSpring注解Spring数据访问Spring面向切面编程(AOP)Spring MVC Spr ...
- 最新整理的spring面试题从基础到高级,干货满满
最新整理的spring面试题从基础到高级,干货满满 前言: 收藏了一些关于Spring的面试题,一方面是为了准备找工作的时候看面试题,另一方面,通过面试题的方式加深一些自己的理论知识. spring ...
- Struts+Hibernate+Spring面试题合集及答案
Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 2 ...
- Struts+Hibernate+Spring面试题合集及答案(转)
Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring 面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 ...
- Spring面试题集
一.Spring简介 * Spring框架有哪几部分组成? Spring框架有七个模块组成组成,这7个模块(或组件)均可以单独存在,也可以与其它一个或多个模块联合使用,主要功能表现如下: ...
- Spring面试题汇总
一.Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么? Spring 框架中核心组件有三个:Core.Context 和 Beans.其中最核心的组件就是Beans, Spri ...
- Spring面试题集锦(精选)
以下来自网络收集,找不到原文出处.此次主要为了面试收集,希望对大家有所帮助~~~~ 1.什么是Spring? Spring是一个开源的Java EE开发框架.Spring框架的核心功能可以应用在任何J ...
随机推荐
- Html5 绘制五星红旗
Html5+JavaScript 在Canvas上绘制五星红旗,具体思路如下图所示: 绘制思路在上图中已有说明,具体代码如下: <script type="text/javascrip ...
- 程序中保存状态的方式之Cookies
程序中保存状态的方式之 Cookies,之前写过一篇关于ViewState的.现在继续总结Cookies方式的 新建的测试页面login <%@ Page Language="C#&q ...
- Uiautomator 2.0之Configrator类学习小记
1. Configration类介绍 1.1. Configrator用于设置脚本动作的默认延时 1.2 Configrator功能: 1.2.1 可调节两个模拟动作之间的默认间隔 1.2.2 可调 ...
- memset
函数原型: void *memset(void *s, int ch, size_t n); 函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 c ...
- HTML5系列:HTML5表单
1. input元素新增类型 url类型 url类型的input元素是一种用来输入url的文本框,提交时如果该文本框中内容不是url格式,则不允许提交. <input type="ur ...
- ICSharpCode.SharpZipLib.dll 移植WP
由于众所周知的原因. ICSharpCode.SharpZipLib.dll在Unity移植WP的时候出现诸多API不兼容,解决方案是在在Github上面找ICSharpCode.SharpZipLi ...
- java使用Executor(执行器)管理线程
一.一个实现了Runnable接口的类 class MyThread implements Runnable{ private static int num = 0; @Override public ...
- jQuery UI Datepicker使用介绍
本博客使用Markdown编辑器编写 在企业级web开发过程中,日历控件和图表控件是使用最多的2中第三方组件.jQuery UI带的Datepicker,日历控件能满足大多数场景开发需要.本文就主要讨 ...
- (二十)WebGIS中图层树功能的设计和实现
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在GIS的桌面工具中,比如arcgis desktop或者S ...
- HTML基本结构
HTML简介 HyperText Markup Language:超文本标记语言 HyperText:超文本(文本 + 图片 + 视频 + 音频 + 链接) Markup Language:标记语言 ...