`

Spring面试问题总结(一)

阅读更多

Spring工作机制及为什么要用?

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。Spring既是一个AOP框架,也是一IOC容器。

SpringFramework的组成:Spring AOP,Spring DAO,Spring ORM,Spring Web,Spring Context, Spring Web MVC。

借助于Spring AOP,Spring IoC能够很方便的使用到非常健壮、灵活的企业级服务,通过使用IoC能够降低组件之间的耦合度,最终,能够提高类的重用性,利于测试,而且更利于整个产品或系统集成和配置。

简单说一下,IOC就是其实就是依赖注入,即用接口编程,在程序中不出现new关键字,而是用接口来命名引用,然后通过某种方式把接口的某个实现类的实例注入到引用里,从而实现接口与具体实现类的松耦合。

Spring对很多ORM框架提供了很好支持,描述下在spring使用hibernate的方法?
在context中定义DataSource,创建SessionFactoy,设置参数;

DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。

在spring中的applicationContext.xml中,jndi与dataSource的写法区别?

1、SpringJNDI数据源配置信息:
  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName">
    <value>java:comp/env/jcptDataSourceJNDI</value>
   </property>
  </bean>
  红色部分是tomcat或者其他应用服务器配置的JNDI.
2、关于JNDI的配置(tomcat):
  修改tomcat目录conf/context.xml文件:
  <Resource name="jcptDataSourceJNDI" auth="Container" type="javax.sql.DataSource"
      maxActive="100" maxIdle="30" maxWait="10000"   username="tysp"
      password="12345678" driverClassName="oracle.jdbc.driver.OracleDriver"
      url="jdbc:oracle:thin:@192.168.1.105:1521:OA"/>  
3、通过JNDI获取DataSource:
  Context context = new InitialContext();
  DataSource ds = (DataSource)context.lookup("java:comp/env/jcptDataSourceJNDI");

谈谈SSH整合怎么理解的?SSH:Struts(表示层)+Hibernate(持久层)+Spring(业务层)

a、Struts
Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。
b、Hibernate
Hibernate是一个持久层框架,它只负责与关系数据库的操作。
c、Spring
Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。

介绍一下Spring的事务管理?事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。

开发中为了避免这种情况一般都会进行事务管理。Spring中也有自己的事务管理机制,一般是使用TransactionMananger进行管理,可以通过Spring的注入来完成此功能。

什么是依赖注入,依赖注入的作用是什么?

IOC是一种思想,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难 于测试;有了IOC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能 复用,更重要的是使得程序的整个体系结构变得非常灵活。

依赖注入的作用:减少类间耦合度,避免用new来创建对象

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

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

Spring中的BeanFactory与ApplicationContext的作用有哪些?
1、BeanFactory负责读取bean的配置文件,管理bean的加载、实例化,维护bean之间的依赖关系,负责bean的生命周期。
2、ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能:
a. 国际化支持b. 资源访问c. 事件传递

4
2
分享到:
评论
1 楼 moshalanye 2015-08-14  
Spring、传统J2EE容器、ioc、 dependent inject、 dependent lookup 之间的关系?

Spring plugin了哪些技术提供了哪些功能?

Spring提供的哪些功能与Apache Commons中哪些功能重叠了

Spring和google guice、jboss的CDI平行比较

相关推荐

    Spring面试题总结.pdf

    标题为"Spring面试题总结"的文档是一份专门针对程序员在应聘与Spring相关职位时可能会遇到的技术面试题的整理和总结。Spring作为一个企业级Java应用框架,已经成为业界使用最为广泛的框架之一,对于期望从事Java后端...

    Spring和SpringMVC面试问题总结(15个)

    Spring和SpringMVC面试问题总结 1.Spring中AOP的应用场景、Aop原理、好处? 2.Spring中IOC的作用与原理?对象创建的过程。 3.介绍spring框架 4.Spring常见创建对象的注解? 5.Spring中用到的设计模式 6.Spring的优点...

    spring面试题

    spring面试题总结,spring面试题总结,spring面试题总结,spring面试题总结

    spring 面试 经验 文档

    本个工作7年经验,总结出的spring面试宝典,一般工作1年到5年左右面试的人 只要面试SPRING都不会离开这里面的内容,供大家学习

    SpringCloud面试题及答案.pdf

    ### SpringCloud核心概念与面试题解析 #### 一、SpringCloud简介 1. **SpringCloud定义** SpringCloud是一个构建在Spring Boot之上的微服务框架集合,它利用Spring Boot的便捷开发特性,极大地简化了分布式系统...

    Spring常见面试题总结

    Spring常见面试题总结

    Spring面试总结2013

    本文将深入探讨2013年Spring面试中的关键知识点。 首先,我们来理解控制反转(Inversion of Control,IoC)和依赖注入(Dependency Injection,DI)。IoC意味着不再由对象自己创建和管理依赖关系,而是将这个责任...

    spring面试题大全.doc

    Spring 框架是 Java 开发中的核心组件之一,它为开发者提供了许多强大的功能,包括依赖注入(DI)、控制反转(IOC)、事务管理以及对 ORM 框架的支持。以下是对这些知识点的详细解释: **1. Spring 的优点** - **...

    spring面试题总结

    spring的面试题

    spring复习面试个人总结题集

    spring复习面试个人总结题集

    11-Spring Boot面试题(92题).pdf

    标题中提到的“Spring Boot面试题(92题).pdf”表明这是一份包含了92个关于Spring Boot的面试题目的文档。Spring Boot是Spring的一个重要项目,它通过约定优于配置的理念,简化了基于Spring的应用开发,被广泛应用...

    Spring 面试题和答案.doc

    Spring 框架是Java开发领域中不可或缺的一部分,它为开发者提供了一整套的企业级应用程序开发解决方案。Spring的核心思想是控制反转(IoC)和面向切面编程(AOP),这两个概念极大地简化了Java应用程序的设计和维护...

    2023最新JAVA面试题集

    2023年最新版--Java+最常见的+200++面试题汇总+答案总结汇总 阿里百度美团面试题合集 大数据面试题 100道 多线程面试59题(含答案) 最新JAVA面试题总结之基础/框架/数据库/JavaWeb/Redis BIO,NIO,AIO,Netty面试题 ...

    spring面试总结

    Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(DI)和面向切面编程(AOP)功能闻名。在面试中,理解Spring的核心概念和技术是至关重要的。以下是对Spring框架的一些关键知识点的详细说明: 1. ...

    Spring的面试题

    Spring框架是Java开发中不可或缺的一部分,它以其强大的功能和易用性深受开发者喜爱。本文将深入探讨Spring的工作原理、为何使用Spring、SSH整合以及Spring的事务管理。 首先,让我们了解Spring的工作原理。Spring...

    Spring面试题汇总.pdf

    Spring框架是Java开发领域广泛应用的一个轻量级框架,由Rod Johnson创立,旨在解决企业级应用开发中的耦合问题。Spring框架的核心理念是依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...

    Spring常问的真实大厂面试题汇总(含答案)

    spring面试题 Spring 是个java企业级应⽤的开源开发框架。Spring主要⽤来开发Java应⽤,但是有些扩展是针对构建J2EE平台的web应⽤。Spring 框架⽬标是简化Java企业级应⽤开发,并通过POJO为基础的编程模型促进良好的...

    spring常见面试题(包含答案)

    Spring 框架知识点总结 Spring 是一个 Java 企业级应用的开源开发框架,主要用来开发 Java 应用,但是有些扩展是针对构建 J2EE 平台的 web 应用。Spring 框架目标是简化 Java 企业级应用开发,并通过 POJO 为基础的...

    Spring Boot 面试必备手册

    总结来说,Spring Boot 提供了一个高效且便捷的开发框架,通过自动配置简化了 Spring 应用的构建,同时支持多种配置方式,如 JavaConfig 和 YAML,为开发者带来了极大的便利。在面试中,理解这些核心概念和优势将有...

Global site tag (gtag.js) - Google Analytics