Spring理解
首先Spring是一个大的概念,Spring从最开始的一个Library到现在一个系列,其中最主要的包括Spring Framework, Spring Data, Spring Security, Spring Batch等等,以及快速框架Spring Boot,其中最重要的项目是Spring Framework,这个项目包括了IoC, AOP, MVC以及Testing。
Spring中核心的概念当属IOC、AOP。
简而言之,将对象创建过程的职责赋予容器,通过容器管理对象的生老病死, 将对象创建过程从编译时延期到运行时,即通过配置进行加载,这样一来就解决了不用编译后期选择具体实现,其实就是面向对象的核心理念,针对接口编程。IoC开始就是个factory加上依赖管理罢了,这样一来,一个系统的创建过程就从原先的new改为配置组装,内部通过注入解决了依赖关系,只要满足接口协议即插即用。通过IoC, AOP事实上形成了一个套路,通过这个套路完成了系统的整合。所以Spring并没有说自己写一个ORM,而是用统一的套路完成了多个ORM的集成,这也是Spring越做越大的基础,慢慢就形成了Spring Way,其实这个才是Spring最有价值的地方。第二当然就是一些实践,其实主流问的大概也就几个方向,用的最多的应该就是Spring MVC,Spring Data, Spring Security和Spring Boot这几块吧,因为毕竟这是实践性内容,很多时候都是show me the code,之前学习过程写过一个sample,基本全是标准Spring Way。
https://www.zhihu.com/question/48427693/answer/120671468