Python知识分享网 - 专业的Python学习网站 学Python,上Python222
85道Java Spring综合面试题详解含答案(值得珍藏) PDF 下载
匿名网友发布于:2024-01-28 11:30:00
(侵权举报)
(假如点击没反应,多刷新两次就OK!)

85道Java Spring综合面试题详解含答案(值得珍藏)  PDF 下载  图1

 

 

资料内容:

 

 

1. Spring概述
 
1.1什么是spring?
Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE
平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编
程习惯。
 
1.2 使用Spring框架的好处是什么?
轻量:Spring是轻量的,基本的版本大约2MB
控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们
面向切面的编程(AOP)Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开
容器:Spring包含并管理应用中对象的生命周期和配置
MVC框架:SpringWEB框架是个精心设计的框架,是Web框架的一个很好的替代品
事务管理:Spring提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA
异常处理:Spring提供方便的API把具体技术相关的异常(比如由JDBCHibernateorJDO抛出的)转化为一
致的unchecked异常。
 
1.3 Spring的两大核心概念
IOC(控制翻转)
控制翻转,也叫依赖注入,他就是不会直接创建对象,只是把对象声明出来,在代码 中不直接与对象和服务
进行连接,但是在配置文件中描述了哪一项组件需要哪一项服 务,容器将他们组件起来。在一般的IOC场景
中容器创建了所有的对象,并设置了必 要的属性将他们联系在一起,等到需要使用的时候才把他们声明出
来,使用注解就跟 方便了,容器会自动根据注解把对象组合起来
AOP(面对切面编程)
面对切面编程,这是一种编程模式,他允许程序员通过自定义的横切点进行模块 化,将那些影响多个类的行
为封装到课重用的模块中。 例子:比如日志输出,不使用AOP的话就需要把日志的输出语句放在所有类中,
方法 中,但是有了AOP就可以把日志输出语句封装一个可重用模块,在以声明的方式将他 们放在类中,每次
使用类就自动完成了日志输出。
 
1.4 Spring由哪些模块组成?
以下是Spring框架的基本模块:
Coremodule Bean module Context moduleExpression Language module
JDBC module ORM module OXM module
Java Messaging Service(JMS) module
Transaction module Web module
Web-Servlet module Web-Struts module Web-Portlet module
 
1.5 Spring的优缺点是什么?
优点
方便解耦,简化开发:Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护,交给Spring
管理。
AOP编程的支持:Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。
声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程。
方便程序的测试:SpringJunit4支持,可以通过注解方便的测试Spring程序。
方便集成各种优秀框架:Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的直接支持
(如:StrutsHibernateMyBatis等)。
降低JavaEE API的使用难度:SpringJavaEE开发中非常难用的一些APIJDBCJavaMail、远程调用
等),都提供了封装,使这些API应用难度大大降低。
缺点
Spring明明一个很轻量级的框架,却给人感觉大而全
Spring依赖反射,反射影响性能
使用门槛升高,入门Spring需要较长时间