什么是Spring
什么是Spring,一个在工作中天天使用被提及的东西,但这个到底是个什么玩意,理解容易,要想把自己的理解准确地传递给别人确实不易。你真的理解吗?反问自己一声!
接下来把Spring从头再按照自己的意思梳理一遍,如果有不准确的地方欢迎指出,不胜感激!
理解: Spring是一个开源框架(对于一个完全不懂代码的人来说不经要问框架是什么,框架就好比毛坯房,我们后面写的代码好比装饰,这样理解不知道准不准确)。
如果把Spring描述为一个“毛坯房”,那这个“毛坯房”到底为我们干了什么呢?
我们先了解一下这个房子的构造吧!
结构图:
结构图在很多地方都见过这些东西又是什么?又是一脸懵。
不妨先当这是Spring这个大房子里的房间、厨房、卫生间啥的吧!(后续再看看这些房间里有啥)
优点:
使用过Spring的同学都知道Spring是一个很流行的开源框架,为什么?
- 低入侵式设计,代码污染极低,使用过程中不用关心Spring为我们实现功能的具体方法
- Spring的IoC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性
- 在AOP方面有很好支持,方便面向切面编程
- 声明式事务的支持,通过配置完成对事务的管理,而无需手动编程
- 高度开放性,不强制依赖于Spring,可以自由选择Spring部分或全部
- 对主流的框架提供了很好的集成支持,如Hibernate、Struts2、MyBatis等
依赖注入(IoC)/控制反转(DI)和 切面编程(AOP) 是 Spring的核心内容。
从结构图上可以明显看出,这些房间都是相对独立的,房间里具体放了什么,开发者可以根据需求自行选择!
后续博文中将对主要模块进行分析理解。