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应用的初始搭建以及开发过程。该框架使用了特定的方式(默认配置)来简化整个构建过程。
58 11
|
12月前
|
开发框架 Java 数据安全/隐私保护
Spring Boot插件化开发概念原理及实现
Spring Boot插件化开发概念原理及实现
529 0
|
6月前
|
Java 程序员 Maven
基础框架 Spring
基础框架 Spring
|
设计模式 Java 数据库连接
Spring概述、Spring的优势和体系结构
Spring概述、Spring的优势和体系结构
208 1
|
Java 应用服务中间件 数据处理
Spring核心知识(五)
webflux是spring推出的响应式web框架,它的对标产品为spring-mvc, 与传统的spring-mvc相比较,webflux是完全非阻塞式的。
95 1
|
XML 缓存 安全
Spring核心知识(二)
AOP(Aspect Oriented Programming) 意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 通俗表示:不通过修改源代码方式,在主干功能中添加新的功能。
53 1
|
XML 缓存 Java
Spring核心知识(一)
Spring是一个JavaEE开源的轻量级别的框架,可以解决我们企业开发中遇到的难题,能够让编码变的更加简单,核心组件IOC容器和Aop面向切面编程。
114 1
BXA
|
消息中间件 缓存 NoSQL
深入理解Spring Boot核心原理
Spring Boot是一个用于构建基于Spring框架的独立应用程序的框架。它采用了自动配置的原则,以减少开发人员在搭建应用架构方面的时间和精力,同时提升了系统的可维护性和可扩展性
BXA
2648 0
|
缓存 监控 安全
Spring Boot框架基础介绍
Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具,它旨在简化 Spring 应用程序的配置和开发过程。Spring Boot 提供了一种简单的方式来创建可独立运行的、生产级别的应用程序,并在需要时进行部署。Spring Boot 在微服务架构和云计算环境下得到了广泛应用,本文将介绍 Spring Boot 的特性、优势以及使用方法。
2237 0
|
存储 搜索推荐 Java
Spring【Spring的概述与设计思想】
Spring【Spring的概述与设计思想】
Spring【Spring的概述与设计思想】