文档章节

Spring框架是什么,有哪些优点

博为峰教研组
 博为峰教研组
发布于 2016/11/08 14:54
字数 430
阅读 35
收藏 4

很多公司再面试的时候都会问到:Spring是什么,都有哪些优点?

小博老师建议这两个问题可以这么回答:

1. Spring是一个轻量级的IoC和AOP容器框架。

IoC:当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常由调用者来创建被调用者的实例。但是在spring中,创建被调用者将不再由调用者内部完成,而是由Spring来完成,因此叫控制反转。在容器实例化对象的时候主动的将被调用者(或者说它的依赖对象)注入给调用对象,因此又叫依赖注入。

AOP:Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其它系统问题(如日志、事务等)。

2. 优点

a. 使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑。

b. 可以提供众多服务,事务管理,WS等。

c. AOP的很好支持,方便面向切面编程。

d. 对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等

e. Spring DI机制降低了业务对象替换的复杂性。

f. Spring属于低侵入,代码污染极低。

g. Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部。

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
Spring面试题(70道,史上最全)

1.什么是spring? 2.使用Spring框架的好处是什么? 3.Spring由哪些模块组成? 4.核心容器(应用上下文)模块。 5.BeanFactory–BeanFactory实现举例。 6.XMLBeanFactory 7.解释AOP模块 8.解释J...

java技术栈
2017/11/08
0
0
JAVA关于Spring 面试题汇总

1 Spring 框架有哪些主要模块? 截止到目前Spring 框架已集成了 20 多个模块 。 这些模块主要被分如下图所示的核心容器 、 数据访问 / 集成 、Web、AOP (面向切面编程) 、 工具 、 消息和测...

Java高级架构
08/29
0
0
spring boot框架学习1-认识spring boot和快速入门

本节主讲: 1:什么是spring boot?它哪些特点以至于我们去学习它? 2:使用spring boot 写出hell word的快速入门小示例 声明: 本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中s...

凯哥java
2017/10/25
0
0
[转载]69道Spring面试题和答案

原文地址 http://ifeve.com/spring-interview-questions-and-answers/ 目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概......

王木东
2017/03/27
0
0
Spring 经典面试题和答案

什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为...

DemonsI
08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
10分钟前
1
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
18分钟前
0
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
28分钟前
15
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
54分钟前
1
0
区块链技术中的那些能商用的企业级应用

WEPOWER是一家立陶宛初创企业,旨在改变可再生电力项目的付费方式。WePower公司创始人Nick Martyniuk表示,政府统一收购价的存在推动了全球风能与太阳能市场的发展。因此,他的公司希望帮助那...

问题终结者
59分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部