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

相关文章
|
1月前
|
XML Java Maven
Spring 手动实现Spring底层机制
Spring 第六节 手动实现Spring底层机制 万字详解!
82 31
|
7月前
|
XML Java 应用服务中间件
深入探索Spring Boot框架的核心特性
Spring Boot 是一款基于Spring框架的开源框架,旨在简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式(默认配置)来简化整个构建过程。
89 11
|
开发框架 Java 数据安全/隐私保护
Spring Boot插件化开发概念原理及实现
Spring Boot插件化开发概念原理及实现
727 0
|
Java 测试技术 开发者
Spring核心与设计思想
Spring是一个用于构建企业级应用程序的开源框架,它为Java开发者提供了一种简化和加速应用程序开发的方式。Spring框架提供了大量的功能和工具,使开发人员能够更轻松地创建各种类型的应用程序,包括Web应用程序、RESTful服务、批处理作业、消息驱动的应用程序等。
152 0
|
设计模式 Java 数据库连接
Spring概述、Spring的优势和体系结构
Spring概述、Spring的优势和体系结构
252 1
|
Java 开发者 Spring
跟着Spring大厂学抽象
跟着Spring大厂学抽象
79 0
|
存储 Java 程序员
Spring 核心与设计思想
Spring 核心与设计思想
BXA
|
消息中间件 缓存 NoSQL
深入理解Spring Boot核心原理
Spring Boot是一个用于构建基于Spring框架的独立应用程序的框架。它采用了自动配置的原则,以减少开发人员在搭建应用架构方面的时间和精力,同时提升了系统的可维护性和可扩展性
BXA
4040 0
|
存储 Java 程序员
Spring核心与设计思想(下)
Spring核心与设计思想(下)
|
存储 Java 应用服务中间件
Spring核心与设计思想(上)
Spring核心与设计思想(上)
107 0