Spring的体系结构

简介: Spring的体系结构

一、Spring简介


1. Spring介绍


1.1 为什么要学


Spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90%


专业角度来讲


简化开发,降低企业级开发的复杂性

框架整合,高效整合其他技术,提高企业级应用开发与运行效率


276fa7fc9d04c029a796cf1797142200_a5f942f9dd3d253516aebf8e7273f844.png


1.2 学什么


简化开发


IOC(控制反转)

AOP(面向切面编程)

事务处理

框架整合


MyBatis

MyBatis-plus

Struts

Struts2

Hibernate

……


1.3 怎么学


学习Spring框架设计思想

学习基础操作,思考操作与思想间的联系

学习案例,熟练应用操作的同时,体会思想


c956ce8e5330538f3b25558c7e799931_abd42cf5037a1503040c622f11c41906.png


2. 初识Spring


2.1 Spring家族


Spring官网:https://spring.io

Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。


0f895d65dfd2aa7020d796b2c03f5d43_fdb9d0d4ddd02fbd3937b7b170f03499.png


2.2 Spring发展史


6b33248c22d39d5e984ded4d7f011a08_8e0f65a03277bcd352b16400245866a0.png


3. Spring体系结构


通过系统架构图,Spring能不能进行数据层开发?Spring能不能进行web层开发?


3.1 Spring Framework系统架构图


Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基。


28127d229f16b5fc6fa082b624e2c704_07678bf55449c4934c98ee52f3995c9f.png

c41ed3a4112872fce00f2a34d493ca99_f262b515a269255e71ce371d5f9b3085.png


3.2 Spring Framework课程学习路线


388f65418a991a1a118157fa10500056_e5b3fede541296fce34e42392b263e47.png


4. Spring核心概念


问题导入


问题1:目前我们的代码存在什么问题以及怎么解决这些问题?


问题2:请描述什么是IOC?什么是DI?


4.1 目前我们代码存在的问题


1f13abac3d60d01548fee051148749a0_52bbbbd4f0a9b9334085869e25a84c43.png


BookServiceImpl改变的例子:比如我们换了一种数据库管理系统。


代码书写现状

耦合度偏高

解决方案

使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象


4.2 核心概念


IOC(Inversion of Control)控制反转


使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。通俗的讲就是“将new对象的权利交给Spring,我们从Spring中获取对象使用即可”


Spring技术对IoC思想进行了实现


Spring提供了一个容器,称为IOC容器,用来充当IoC思想中的“外部”

IOC容器负责对象的创建、初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean

DI(Dependency Injection)依赖注入


在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入。


0b41a64f6f6b7c88a9d7893ffaee49e4_6bebeb6ccb916e4cc666593e461d163c.png


目标:充分解耦

使用IoC容器管理bean(IOC)

在IoC容器内将有依赖关系的bean进行关系绑定(DI)

最终效果

使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系

相关文章
|
10月前
|
Java 应用服务中间件 Go
《Spring Boot框架原理》
《Spring Boot框架原理》
94 1
|
3月前
|
Java 程序员 Maven
基础框架 Spring
基础框架 Spring
|
9月前
|
开发框架 Java 数据安全/隐私保护
Spring Boot插件化开发概念原理及实现
Spring Boot插件化开发概念原理及实现
405 0
|
8月前
|
缓存 Java 程序员
spring技术内幕——深入解析spring架构与设计原理
序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。”
|
设计模式 Java 数据库连接
Spring概述、Spring的优势和体系结构
Spring概述、Spring的优势和体系结构
187 1
|
监控 JavaScript 前端开发
Spring Boot:简化Spring应用程序的开发
前言 Spring Boot是一个基于Spring框架的开源项目,旨在简化Spring应用程序的开发、配置和部署。本文将详细介绍Spring Boot的基本概念、特性、常用注解和实践。我们将使用一个实际的示例,帮助你更好地理解和应用Spring Boot。
5230 5
Spring Boot:简化Spring应用程序的开发
|
安全 Java 程序员
【Spring】Spring 框架的概述
【Spring】Spring 框架的概述
|
缓存 监控 安全
Spring Boot框架基础介绍
Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到了广泛应用,本文将介绍 Spring Boot 的特性、优势以及使用方法。
1996 0
|
XML 前端开发 Java
Spring 框架(Spring Framework)概述及 IOC(控制反转)详解
Spring 框架(Spring Framework)概述及 IOC(控制反转)详解
355 0
|
存储 搜索推荐 Java
Spring【Spring的概述与设计思想】
Spring【Spring的概述与设计思想】
Spring【Spring的概述与设计思想】