Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们来看看关于Spring的精华问答吧。

1

Q:Spring的目标是什么?

A:Spring官方主页(http://spring.io)有两句话:这两句话已经足以说明Spring的目标,它针对的领域是企业应用,这套框架构建的应用有着简单、便携、快速和灵活的特点。与EJB(Enterprise JavaBean,一个基于Java平台的服务端组件框架)相比,它是一个轻量级的应用开发平台。

2

Q:认识Spring

A:Spring是一个企业级应用开发平台,到目前为止,围绕它有一个较为完整且成熟的应用开发生态圈,在这个生态圈中,除了Spring核心项目以外,还有很多子项目。因此,理论上,可以使用Spring的生态圈技术来开发一套完整的应用系统。

尽管JDK提供了丰富的开发功能,但是它很难将一些基础的组件块构建成一个完整的框架,它把这个任务交给了开发者和工程师。尽管开发人员可以利用工厂、抽象工厂、创建者、装饰器等设计模式将这些组件组合起来,但是其中的工作量是相当巨大的,特别是对于中小企业来说,根本没有那么多资源来做这件事情。而Spring框架已经帮我们做好了这一切,Spring框架的控制反转(IoC, Inversion of Control)组件以标准化的方式将这些分散的组件组合到一起,Spring使用了规范的设计模式,很容易将它集成到应用系统中。当前,大量的企业和机构在使用Spring框架。

3

Q:Spring的模块

A:如上图所示,Spring由20多个模块组成,它们可以分为核心容器(Core Container)、数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspect Oriented Programming)、设备(Instrumentation)、消息发送(Messaging)和测试(Test)。

4

Q:Spring框架中的单例Beans是线程安全的么?

A:Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全和并发问题需要开发者自行去搞定。但实际上,大部分的Spring bean并没有可变的状态(比如Serview类和DAO类),所以在某种程度上说Spring的单例bean是线程安全的。如果你的bean有多种状态的话(比如 View Model 对象),就需要自行保证线程安全。最浅显的解决办法就是将多态bean的作用域由“singleton”变更为“prototype”。

5

Q:为何使用Spring?

A:Spring的IOC和AOP两大核心功能可以大大降低应用系统的耦合性、简化开发流程。Spring框架技术可在不同层次上起作用,比如IOC管理普通的POJO对象、AOP增强了系统服务和其它组件(事务、MVC、JDBC、ORM和远程调用等)。Spring的一大特点就是基于接口编程,它是非侵入式的服务。用户端绑定接口使用JAVA EE服务,而非直接绑定服务,而且应用也可以使用不同的服务(Hibernate、MyBatis等)。我们可以根据自己的需要,使用Spring的一部分服务,而不必使用完整的Spring系列项目。

小伙伴们冲鸭,后台留言区等着你!

关于Spring,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~

福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!

推荐阅读:

  • 屡试不爽的互联网架构三大马车!

  • 2019年技术盘点容器篇(四):来自京东云的技术问答 | 程序员硬核评测

  • 《长安十二时辰》科技梗揭秘!唐朝就能看到 5G 踪影?

  • 天才程序员: "开发 CryptoKitties 难不难? 只需掌握这3点..."

  • 教你如何用Python实现文本摘要模型(附教程)

  • 微软 CTO 韦青:5G 与亚里士多德

  • 什么限制了GNN的能力?首篇探究GNN普适性与局限性的论文出炉!

    真香,朕在看了!

Spring精华问答 | 为何使用Spring?相关推荐

  1. Spring精华问答 | 如何集成Spring Boot?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们一起来看看关于Spring的精华问答吧. 1 Q:如何在自定义端口上运 ...

  2. Spring精华问答 | 什么是Spring inner beans?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们来看看关于Spring的精华问答吧. 1 Q:请解释Spring Be ...

  3. Spring精华问答 | 什么是Spring Cloud?

    戳蓝字"CSDN云计算"关注我们哦! Spring是为解决企业应用程序开发复杂性而创建的一个Java开源框架,应用非常广泛.业内非常流行的SSH架构中的其中一个"S&qu ...

  4. Spring精华问答 | 什么是YAML?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们一起来看看关于Spring的精华问答吧. 1 Q:如何在自定义端口上运 ...

  5. Spring精华问答 | Spring 能帮我们做什么?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们一起来看看关于Spring的精华问答吧. 1 Q:什么是Spring框 ...

  6. Spring精华问答 | Spring框架有哪些主要模块?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们一起来看看关于Spring的精华问答吧. 1 Q:什么是Spring框 ...

  7. boot spring 获取请求端口浩_Spring精华问答 | 如何集成Spring Boot?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们一起来看看关于Spring的精华问答吧. 1 Q:如何在自定义端口上运 ...

  8. Spring精华问答 | Spring Boot有哪些优点?

    戳蓝字"CSDN云计算"关注我们哦! Spring是于2003 年兴起的一个轻量级的Java 开发框架,为了解决企业应用开发的复杂性而创建的.今天,我们一起来看看关于Spring更 ...

  9. Spring精华问答 | Spring Bean的自动装配是怎么回事?

    戳蓝字"CSDN云计算"关注我们哦! Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Sprin ...

最新文章

  1. 样式集(一) 通用商品列表样式
  2. [Zjoi2015]诸神眷顾的幻想乡
  3. 贝叶斯推断及其互联网应用(一)
  4. 解决tomcat启动后访问页面中文乱码
  5. 【计算机组成原理】多功能算数逻辑运算单元
  6. 漏洞learning[安全大事记]
  7. MySQL 在指定位置新增字段
  8. 基于STC89C51和L298N的42步进电机控制
  9. 2021-2027全球与中国DJ设备市场现状及未来发展趋势
  10. word在线预览 (含doc,docx等)
  11. mysql数据抽取_史上最简单的数据抽取
  12. vue-cli脚手架build目录中的webpack.base.conf.js配置文件
  13. SVD解线性方程组(非齐次)
  14. 电脑快捷键大全 Ctrl
  15. 流媒体服务器ZLMediaKit
  16. k8s:worke节点启动后,node处于NotReady状态
  17. (转) 行人检测资源 综述文献
  18. MySQL聚簇索引和非聚簇索引的原理及使用
  19. 平面UI设计学起来容易吗?就业率如何?
  20. mysql中phpmyadmin安装教程_怎么安装phpMyAdmin?

热门文章

  1. dos虚拟机如何全屏显示_实用工具 | 虚拟机软件VirtualBox详细使用介绍
  2. 熟悉html css,编写HTML和CSS的前端开发中不一定熟悉JavaScript
  3. 毕业典礼校长致辞金句频出:搬砖也要元气满满
  4. 官宣!又一所新大学来了!
  5. 中国工程院撤销李宁院士称号
  6. 加加减减的奥秘——从数学到魔术的思考(三)
  7. python是如何登上编程语言排行榜榜首的
  8. 当你拼命挣死工资时,他们已抢占2018年最火爆高科技赚钱项目......
  9. 代码传奇丨美女黑客张婉桥的“爱丽丝奇遇记”
  10. mysql sha256函数_MySQL8.0新特性——默认使用caching_sha2_password作为身份验证插件