Spring 框架学习
Spring 框架
框架是基于一组类库或工具,在特定领域里根据一定的规则组合成的、开放性的骨架。
框架具有如下特性:
a)支撑性+扩展性:框架不解决具体的业务功能问题,我们可以在框架的基础上添加各种具体的业务功能、定制特性,从而形成具体的业务应用系统。
b)聚合性+约束性:框架是多种技术点的按照一定规则的聚合体。我们采用了某种框架也就意味着做出了技术选型的取舍。在很多种可能的技术组合里确定了一种具体的实现方式,后续的其他工作都会从这些技术出发,也需要遵循这些规则,所以框架本身影响到研发过程里的方方面面。
Spring framework 6 大模块
1. Core:Bean/Context/AOP
2. Testing:Mock/TestContext
3. DataAccess: Tx/JDBC/ORM
4. Spring MVC/WebFlux: web
5. Integration: remoting/JMS/WS
6. Languages: Kotlin/Groovy
Spring AOP
AOP-面向切面编程
Spring 早期版本的核心功能: 管理对象生命周期与对象装配。
为了实现管理和装配,一个自然而然的想法就是,加一个中间层代理(字节码增强)来实现所有对象的托管。
IoC-控制反转
也称为 DI(Dependency Injection)依赖注入。对象装配思路的改进。
从对象 A 直接引用和操作对象 B,变成对象 A 里指需要依赖一个接口 IB,系统启动和装配阶段,把 IB 接口的实例对象注入到对象 A,这样 A 就不需要依赖一个 IB 接口的具体实现,也就是类 B。
从而可以实现在不修改代码的情况,修改配置文件,即可以运行时替换成注入 IB 接口另一实现类什么类型的循环依赖 C 的一个对象实例。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/9350f52d0c2be07072eafbff3】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论