Spring中的编程思想

Spring的设计初衷(简化开发)四个基本策略

  1.   基于POJO的轻量级和最小侵入性编程
  2.   通过依赖注入和面向接口松耦合
  3.   基于切面和惯性进行声明式编程
  4.   通过切面和模板减少样板式代码

spring的编程思想

  • OOP :Object Oriented Programming (面向对象编程)用程序归纳总结生活中的一切事物。(封装,继承,多态)。
  • BOP:Bean Oriented Programming (面向bean编程)面向Bean设计程序,解放程序员。(一切从Bean开始)。
  • AOP:Aspect Oriented Programming(面向切面编程)找出多个类中有一定规律的代码,开发时拆开,运行时合并。即面向规则编程(解耦,专人做专事)。
  • IOC:Inversion of Control(控制翻转)将new对象的动作交给SPring管理,并由Spring保存已创建的对象(IOC容器)(转交控制权)。
  • DI/DL:Dependency Injection(依赖注入)或者Dependency Lookup(依赖查找)。依赖注入和依赖查找,spring不仅保存自己创建的对象,而且保存对象与对象之间的关系。注入即赋值,主要三种方式构造方法、set方法、直接赋值。(自动赋值)。

DI和AOP都依赖IOC

spring注解编程

V1(注解驱动启蒙时代)-> v2(注解驱动过度时代)-> V2.5(引入了新的骨架Annotation) -> V3(注解驱动黄金时代) -> V4(注解驱动完善时代) -> V5(注解驱动的成熟时代)。

Spring系统架构

spring系统架构的核心模块

  1. spring-core :依赖注入IOC与DI的最基本实现。
  2. spring-beans:Bean工厂与Bean的装配。
  3. spring-context:定义基础的Spring的Context上下文IOc容器。
  4. spring-context-support:对springIOC容器的扩展支持,以及IOC子容器。
  5. spring-context-indexer:spring的类管理组件和Classpath扫描。
  6. spring-expression:Spring表达式语言。

spring系统架构的切面编程模块

  1. spring-aop:面向切面编程的应用模块,整合Asm。CGLib,JDKProxy。
  2. spring-aspects:集成AspectJ,Aop应用框架。
  3. spring-instrument:动态Class Loading模块。

spring系统架构的集成模块

  1. spring-jdbc:Spring提供的JDBC抽象框架的主要实现模块,用于简化Spring JDBC操作。
  2. spring-tx:Spring JDBC事务控制实现模块。
  3. spring-orm:主要集成Hibernate,java Persistence API(JPA)和Java Data Objects(JDO)。
  4. spring-oxm:将java对象映射成XML数据,或者将XML数据映射成java对象。
  5. spring-jms:Java Messaging Service能够发送和接收信息。

spring的Web模块

  1. spring-web:提供了最基础的Web支持,主要建立于核心容器之上,通过Servlet或者Listeners来初始化IOC容器。
  2. spring-webmcv:实现了Spring MVC(model-view-Controller)的Web应用。
  3. spring-websocket:主要是于Web前端的全双通讯的协议。
  4. spring-webflux:一个新的非阻塞函数式Reactive Web框架,可以用来建立异步的,非阻塞,事件驱动的服务。

spring的通信报文模块

  1. spring-messaging:从spring4开始新加入的一个模块,主要职责是为spring框架集成一些基础的报文传送应用。

spring的集成测试模块

  1. spring-test:主要集成测试提供支持。

spring的集成兼容模块

  1. spring-framework-bom:Bill of Materials解决Spring的不同模块依赖版本不同的问题。

spring命名规则

  1. Snapchat:快照版:尚不稳定,尚处于开发中的版本。
  2. Release:稳定版:功能相对稳定,可以对外发行,但有时间限制。
  3. GA:正式版:代表广泛可用的稳定版。
  4. M:里程碑版:具有一些全新的功能或具有里程碑意义的版本。
  5. Rc:终测版:Release Candidate(最终测试),即作为正式版发布。

 

猜你喜欢

转载自blog.csdn.net/weixin_43222122/article/details/109341068