什么是Spring

什么是Spring,一个在工作中天天使用被提及的东西,但这个到底是个什么玩意,理解容易,要想把自己的理解准确地传递给别人确实不易。你真的理解吗?反问自己一声!
接下来把Spring从头再按照自己的意思梳理一遍,如果有不准确的地方欢迎指出,不胜感激!

理解: Spring是一个开源框架(对于一个完全不懂代码的人来说不经要问框架是什么,框架就好比毛坯房,我们后面写的代码好比装饰,这样理解不知道准不准确)。

如果把Spring描述为一个“毛坯房”,那这个“毛坯房”到底为我们干了什么呢?
我们先了解一下这个房子的构造吧!

结构图:
Spring学习之旅(一)--什么是Spring

结构图在很多地方都见过这些东西又是什么?又是一脸懵。
不妨先当这是Spring这个大房子里的房间、厨房、卫生间啥的吧!(后续再看看这些房间里有啥)

优点:
使用过Spring的同学都知道Spring是一个很流行的开源框架,为什么?

  • 低入侵式设计,代码污染极低,使用过程中不用关心Spring为我们实现功能的具体方法
  • Spring的IoC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性
  • 在AOP方面有很好支持,方便面向切面编程
  • 声明式事务的支持,通过配置完成对事务的管理,而无需手动编程
  • 高度开放性,不强制依赖于Spring,可以自由选择Spring部分或全部
  • 对主流的框架提供了很好的集成支持,如Hibernate、Struts2、MyBatis等

依赖注入(IoC)/控制反转(DI)切面编程(AOP) 是 Spring的核心内容。

从结构图上可以明显看出,这些房间都是相对独立的,房间里具体放了什么,开发者可以根据需求自行选择!
后续博文中将对主要模块进行分析理解。

相关文章: