2023新版Spring6全新讲解-SpringFramework介绍

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

SpringFramework介绍

在这里插入图片描述

一、官网地址阅读

https://spring.io/

二、Spring的发展历史

image.png

三、Spring的概述

  一个Java应用层程序是由许多个类组成的这些类之间必然存在依赖关系当项目越来越大依赖关系越来越复杂需要一个专业的框架来处理类之间的依赖关系为了解决这个问题SUN公司推出了EJB重量级专门用来解决类的依赖问题。

  SpringSpring Framework 是一个开源框架最早由Rod Johnson创建并在《Expert One-on-OneJ2EE Design and Development》这本著作中进行了介绍。Spring是为了解决企业级应用开发的复杂性而创建的使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但Spring不仅仅局限于服务器端开发任何Java应用都能在简单性、可测试性和松耦合等方面从Spring中获益。

  bean的各种名称……虽然Spring用bean或者JavaBean来表示应用组件但并不意味着Spring组 件必须要遵循JavaBean规范。一个Spring组件可以是任何形式的POJOPOJOPlain Ordinary Java Object简单的Java对象实际就是普通JavaBeans是为了避免和EJB混淆所创造的简称。

  Spring 可以做非常多的事情。但归根结底支撑Spring的仅仅是少许的基本理念所有的理念都可以追溯到Spring最根本的使命上简化Java开发。这是一个郑重的承诺。许多框架都声称在某些方面做了简化但Spring的目标是致力于全方位的简化Java开发。这势必引出更多的解释Spring是如何简化Java开发的

为了降低Java开发的复杂性Spring采取了以下4种关键策略

  • 基于POJO的轻量级和最小侵入式编程
  • 通过控制反转和依赖注入以及面向接口实现松耦合
  • 基于切面和惯例进行声明式编程
  • 通过切面和模板减少样板式代码。

几乎Spring所做的任何事情都可以追溯到上述的一条或多条策略。

  • Spring的各种注入方式
  • IOC/DI
  • AOP事务
  • JdbcTemplate
  • 事务

四、版本号说明

常见版本号说明

软件版本号2.0.2.RELEASE

2主版本号。当功能模块有较大更新或者整体架构发生变化时主版本号会更新
0次版本号。次版本表示只是局部的一些变动。
2修改版本号。一般是 bug 的修复或者是小的变动
RELEASE:希腊字母版本号。次版本号用户标注当前版本的软件处于哪个开发阶段
版本号说明
Base设计阶段。只有相应的设计没有具体的功能实现。
Alpha软件的初级版本。存在较多的 bug
Bate表示相对 alpha 有了很大的进步消除了严重的 bug还存在一些潜在的 bug。
Release该版本表示最终版。

五、Spring的结构

image.png

常用jar包说明

上图中包含了 Spring 框架的所有模块这些模块可以满足一切企业级应用开发的需求在开发过程中可以根据需求有选择性地使用所需要的模块。下面分别对这些模块的作用进行简单介绍。

Spring Core核心容器

spring core提供了IOC,DI,Bean配置装载创建的核心实现。核心概念 Beans、BeanFactory、BeanDefinitions、ApplicationContext。

  • spring-core IOC和DI的基本实现
  • spring-beansBeanFactory和Bean的装配管理(BeanFactory)
  • spring-contextSpring context上下文即IOC容器(AppliactionContext)
  • spring-expressionspring表达式语言

Spring AOP

  • spring-aop面向切面编程的应用模块整合ASMCGLibJDK Proxy
  • spring-aspects集成AspectJAOP应用框架
  • spring-instrument动态Class Loading模块

Spring Data Access

  • spring-jdbcspring对JDBC的封装用于简化jdbc操作
  • spring-ormjava对象与数据库数据的映射框架
  • spring-oxm对象与xml文件的映射框架
  • spring-jms Spring对Java Message Service(java消息服务)的封装用于服务之间相互通信
  • spring-txspring jdbc事务管理

Spring Web

  • spring-web最基础的web支持建立于spring-context之上通过servlet或listener来初始化IOC容器
  • spring-webmvc实现web mvc
  • spring-websocket与前端的全双工通信协议
  • spring-webfluxSpring 5.0提供的用于取代传统java servlet非阻塞式Reactive Web框架异步非阻塞事件驱动的服务

Spring Message

  • Spring-messagingspring 4.0提供的为Spring集成一些基础的报文传送服务

Spring test

  • spring-test集成测试支持主要是对junit的封装
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring