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已经绑定了所有的依赖关系

相关文章
|
3月前
|
XML Java 应用服务中间件
深入探索Spring Boot框架的核心特性
Spring Boot 是一款基于Spring框架的开源框架,旨在简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式(默认配置)来简化整个构建过程。
61 11
|
12月前
|
开发框架 Java 数据安全/隐私保护
Spring Boot插件化开发概念原理及实现
Spring Boot插件化开发概念原理及实现
539 0
|
6月前
|
存储 Java 数据库连接
Spring Boot 嵌入式服务器、Hibernate 关系和 Spring Data 全解析
Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。
107 0
|
设计模式 Java 数据库连接
Spring概述、Spring的优势和体系结构
Spring概述、Spring的优势和体系结构
209 1
|
11月前
|
缓存 Java 程序员
spring技术内幕——深入解析spring架构与设计原理
序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。”
|
开发框架 负载均衡 Dubbo
|
存储 搜索推荐 Java
Spring【Spring的概述与设计思想】
Spring【Spring的概述与设计思想】
Spring【Spring的概述与设计思想】
|
前端开发 网络协议 Java
【Spring技术原理】带你看看那些可能你还不知道的Spring特性技巧哦!
【Spring技术原理】带你看看那些可能你还不知道的Spring特性技巧哦!
147 0
|
Java 数据库连接 Spring
Spring Boot 四大核心组件,你知道几个?(1)
Spring Boot 四大核心组件,你知道几个?(1)
419 0
Spring Boot 四大核心组件,你知道几个?(1)
|
监控 Java Spring
Spring Boot 四大核心组件,你知道几个?(2)
Spring Boot 四大核心组件,你知道几个?(2)
235 0
Spring Boot 四大核心组件,你知道几个?(2)