`
zhongyangjian
  • 浏览: 8547 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring面试题集(收集)

阅读更多
Spring面试题集

1. 你一般用spring做什么?
控制反转IOC AOP
2. spring中的哪个类的哪个方法可用于获取bean
3. spring是什么?根据你的理解详细谈谈你的见解。
目的:解决企业应用开发的复杂性
功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
4. 项目中如何体现Spring中的切面编程,距离说明。
面向切面编程:主要是横切一个关注点,将一个关注点模块化成一个切面。在切面上声明一个通知(Advice)和切入点(Pointcut); 通知: 是指在切面的某个特定的连接点(代表一个方法的执行。通过声明一个org.aspectj.lang.JoinPoint类型的参数可以使通知(Advice)的主体部分获得连接点信息。)上执行的动作。通知中定义了要插入的方法。切入点:切入点的内容是一个表达式,以描述需要在哪些对象的哪些方法上插入通知中定义的方法。
项目中用到的Spring中的切面编程最多的地方:声明式事务管理。
a、定义一个事务管理器
b、配置事务特性(相当于声明通知。一般在业务层的类的一些方法上定义事务)
c、配置哪些类的哪些方法需要配置事务(相当于切入点。一般是业务类的方法上)

5. spring中可以用注入获得属性值,还有其他的方式吗?
读取配置文件

6. spring在项目中如何充当粘合剂
1、在项目中利用spring的IOC(控制反转或依赖注入),明确地定义组件接口(如UserDAO),开发者可以独立开发各个组件, 然后根据组件间的依赖关系组装(UserAction依赖于UserBiz,UserBiz依赖于UserDAO)运行,很好的把Struts(Action)和hibernate(DAO的实现)结合起来了。
2、spring的事务管理把hibernate对数据库的操作进行了事务配置。

7. spring的事务如何配置
spring的声明式事务配置:
1.
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
/WEB-INF/classes/hibernate.cfg.xml
2. 配置事务管理器

class="org.springframework.orm.hibernate3.HibernateTransactionManager">


3. 配置事务特性








4. 配置哪些类的哪些方法配置事务



isolation设定事务的隔离级别,事务管理器根据它来控制另外一个事务可以看到本事务内的哪些数据。
定义的5个不同的事务隔离级别:
DEFAULT:默认的隔离级别,使用数据库默认的事务隔离级别
READ_COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。这种事务隔离级别可以避免脏读出现,但是可能会出现不可重复读和幻像读。
READ_UNCOMMITTED:这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。
REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免不可重复读。
SERIALIZABLE:这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。
propagation定义了7个事务传播行为
REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。
SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。但是对于事务同步的事务管理器,SUPPORTS与不使用事务有少许不同。
REQUIRES_NEW 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。
NOT_SUPPORTED 总是非事务地执行,并挂起任何存在的事务。
NEVER 总是非事务地执行,如果存在一个活动事务,则抛出异常
NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中. 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行。
嵌套事务一个非常重要的概念就是内层事务依赖于外层事务。外层事务失败时,会回滚内层事务所做的动作。而内层事务操作失败并不会引起外层事务的回滚。
REQUIRED应该是我们首先的事务传播行为。它能够满足我们大多数的事务需求。
8. transaction有那几种实现(事务处理)(Spring)
在Spring中,事务处理主要有两种方式
(1) 代码控制事务
在程序中引入新的模版类,这个类封装了事务管理的功能
(2) 参数配置控制事务,在Application-Context.xml增加一个事务代理(UserDAOProxy)配置
2. IBATIS中的事物属性怎么配置
SQL MAP XML配置文件中的transactionManager
分享到:
评论

相关推荐

    Spring面试题合集

    Spring面试题合集涵盖了Spring框架的核心概念、重要特性以及常见的面试问题。以下是对这些知识点的详细阐述: 1. **IoC(控制反转)与DI(依赖注入)**: - IoC是指应用程序的控制权由传统模式中的对象自己控制...

    最全的IT公司面试题集 CHM版的

    数据库面试题,英语面试,外企面试,软件测试面试题,Python面试题,Oracle面试题,MySql面试题,Web开发面试题,Unix面试题,程序员面试,网络技术面试题,网络安全面试题,Linux面试题,Hibernate面试题,Spring面试题,SQL ...

    BIO,NIO,AIO,Netty面试题 35道.pdfJava并发编程最全面试题 123道.pdfJava并发编程面试题

    BIO,NIO,AIO,Netty面试题 35道.pdf Java并发编程最全面试题 123道.pdf Java并发编程面试题 75题.pdf JAVA核心面试知识点整理.pdf ...面试题集(全).pdf 设计模式面试题 14道.pdf Spring面试题 75道.pdf 等等

    java常见面试题合集

    以下是一些基于“java常见面试题合集”的相关知识点: 1. **基础语法**: - 类与对象:理解类的定义、对象的创建与访问权限。 - 继承与多态:掌握单一继承和接口的多实现,以及方法的重写和重载。 - 封装与抽象...

    骆昊JAVA面试题全集2018博客文章整理

    骆昊还增加了数据结构、算法、大型网站架构、设计模式、UML、Spring MVC等主题的深度解析,特别关注了如hashCode方法设计、垃圾收集、并发编程和数据库事务等关键知识点。 文章在CSDN上的访问量超过5万次,并被多个...

    java最新面试题合集 完整版PDF

    《java最新面试题》主要有Dubbo、基础、集合容器、异常、JVM、Linux、MyBatis、Netty、Redis、SpringBoot、Spring Cloud、SpringMVC、Spring、Tomcat、ZooKeeper、消息中间件MQ与RabbitMQ等等。 本文档包含了Java...

    世上最全的Java面试题合集

    Java作为世界上最受欢迎的编程语言之一,其面试题的广度和深度都反映了开发者们需要掌握的知识范围。这个“世上最全的Java面试题合集”无疑是准备Java面试者的宝典,它涵盖了各种常见问题和一些深入的技术细节。下面...

    八股文 面试文档比较齐全的 ”免费的不需要任何积分无任何套路” 中级 高级 初级 都有:基础内容 jvm调优 spring

    在准备面试时,阅读和理解诸如“java-中级-面试题.docx”、“阿里Java基础面试题.docx”、“JavaGuide面试突击最新版.pdf”、“面试题全集(周瑜).pdf”和“java程序员面试整理3(1).pdf”这样的文档是非常有益的。...

    java面试题集(网上全部题目都在这里不用去别处找了!)

    13. **Spring框架**:作为Java企业级开发的重要工具,Spring的依赖注入、AOP(面向切面编程)、事务管理、Spring Boot、Spring Cloud等都可能是面试的重点。 14. **数据库操作**:SQL查询、连接池、事务处理、索引...

    很全的Java面试题集.doc

    这份"很全的Java面试题集"是为准备Java程序员面试者精心编排的,旨在帮助求职者掌握核心概念,提升面试表现。以下是对其中可能包含的知识点的详细解释: 1. **基础语法**:面试题集可能会涵盖Java的基础语法,如...

    JAVA面试题集.收集了一些大公司的面试题及答案,很不错噢

    这份"JAVA面试题集"正是为此目的而准备的,它收集了来自各大公司的面试题及对应答案,帮助求职者在面试中表现出色。 面试题集通常涵盖了以下几个方面: 1. **基础知识**:这部分可能包括Java语言的基本语法,如...

    Java面试题集 收集的

    Java作为一门广泛使用的编程语言,其面试题集涵盖了众多领域,包括基础知识、数据结构与算法、多线程、网络编程、设计模式、JVM优化、框架应用等。这些题目不仅测试了开发者的技术深度,还考察了解决问题的能力和对...

    适合应届生的java面试题集

    本资料包"适合应届生的java面试题集"包含了近年来的Java面试热点问题,旨在帮助应届毕业生更好地准备面试,提升自己的竞争力。 1. **基础概念** - Java的特性:了解Java的跨平台性、面向对象、自动内存管理(垃圾...

    java面试题收集(西安面试题,面试指导,sql面试题)

    本资料集包含了丰富的Java面试题、西安地区常见面试问题以及SQL相关题目,旨在帮助求职者全面准备,顺利通过笔试和面试。 1. **Java基础知识** - **数据类型与变量**:理解基本数据类型、引用数据类型,掌握变量...

    Java编程题全集及面试题合集

    Java编程题全集及面试题合集是一份涵盖了大量Java编程练习题和面试问题的资源,旨在帮助开发者提升技能和准备求职面试。这份资料包括了"JAVA编程题全集(100题及答案).doc"文档和"Java面试题以及答案.pdf",两者都...

    Java大厂面试题集(最新最全)

    Java大厂面试题集是求职者们准备Java程序员岗位面试的重要参考资料,涵盖了众多技术知识点,旨在帮助应聘者全面了解和掌握Java技术栈的核心概念、原理和应用。在准备校招时,除了对基础理论的扎实掌握,还需要关注...

    Java的面试题合集

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多领域,包括基础语法、面向对象、集合框架、多线程、异常处理、JVM内存模型、IO流、网络编程、设计模式、数据库操作、Spring框架等。这份合集显然是为了帮助求职...

    JAVA面试题集

    Java面试题集是针对Java程序员在求职过程中可能会遇到的各种问题的集合,涵盖了Java语言的基础、进阶以及实际应用等多个方面。这份资料旨在帮助求职者全面复习和巩固Java知识,提高面试成功率。以下是一些可能出现在...

    java面试题集1.zipjava经典面试题集

    以上只是"Java面试题集1"中可能涵盖的一部分关键知识点,实际题目可能更加深入,包括JVM优化、数据库连接池、Spring框架、MyBatis、微服务等相关技术。对于Java开发者来说,熟练掌握这些基础知识和实战经验,是提升...

    2021最新Java面试题全集-2021第二版(20210805版).pdf

    【Java面试题全集2021版】涵盖了Java编程语言及与其相关的各种技术领域的面试问题,旨在帮助求职者准备面试。以下是一些关键的知识点: 1. **基础语法**: - 数据类型:了解基本数据类型(如int、float、char)与...

Global site tag (gtag.js) - Google Analytics