Spring简介

1.Spring简介

1.1 为什么要学

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

  • 专业角度

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

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

 

1.2 学什么

  • 简化开发

    • ==IOC(反转控制)==

    • ==AOP(面向切面编程)==

      • ==事务处理==

  • 框架整合

    • MyBatis

    • MyBatis-plus

    • Struts

    • Struts2

    • Hibernate

    • ……

1.3 怎么学

  • 学习Spring框架设计思想

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

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

2. 初识Spring

目前我们使用的是Spring几版本?

2.1 Spring家族

  • 官网:https://spring.io

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

 

2.2 Spring发展史

3. Spring体系结构

问题导入

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

3.1 Spring Framework系统架构图

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

 

 4. Spring核心概念

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

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

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

  • 代码书写现状

    • 耦合度偏高

  • 解决方案

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

4.2 核心概念

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

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

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

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

  • ==DI(Dependency Injection)依赖注入==

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

  • 目标:充分解耦

    • 使用IoC容器管理bean(IOC)

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

  • 最终效果

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/4713.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4/5用GeneratedDynamicMeshActor创建多个模型,并发生Boolean(两个网格体之间的,有3种模式)

目录 制作 只创建一个球: 效果: 制作多个效果: 制作: 效果: 代码: 一代码: 二代码: 制作 假如我们创建两个模型,第一个是之前就创建的正方体,而第二…

MATLAB与大数据:如何应对海量数据的处理和分析

第一章:引言 在当今数字化时代,大数据已经成为了各行各业的核心资源之一。海量的数据源源不断地涌现,如何高效地处理和分析这些数据已经成为了许多企业和研究机构面临的重要挑战。作为一种功能强大的数学软件工具,MATLAB为我们提供…

Unity 之 最新原生广告Ads接入 -- 助力增长游戏收益

Unity 之 最新Ads原生广告接入流程详解和工具类分享 一,注册 Unity Ads 广告 SDK二,下载 Unity Ads 广告 SDK三,配置 Unity Ads 广告 SDK3.1 广告位展示流程3.2 代码初始化 四,集成 Unity Ads 广告 SDK4.1 相关介绍4.2 代码分享 五…

HHU云计算期末复习(上)Google、Amazon AWS、Azure

文章目录 第一章 概论第二章 Google 云计算2.1 Google文件系统(GFS)2.2 MapReduce和Hadoop2.3 分布式锁服务Chubby2.4 分布式结构化数据表Bigtable存储形式主服务器子表Bigtable 相关优化技术 2.5 分布式存储系统MegastoreMegastoreACID语义基本架构核心…

Spring Boot是什么?详解它的优缺点以及四大核心

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、Spring Boot 是什么? 二、Spring Boot 的优缺点 1、优点 ①可快速构建独立的 Spring 应用 ②直接嵌入Tomcat、Jett…

响应数据加密解决方案

需求分析 响应数据加密是一种很重要的安全措施,可以保护数据在传输过程中不被未经授权的用户拦截、窃取或篡改。以下是响应数据加密需求分析: 响应数据必须进行加密: 所有响应数据必须进行加密,以保证数据在传输过程中的安全性。服务器可以采用HTTPS协议对响应数据进行加密…

Redis 高可用和优化

目录 一:Redis 高可用 二: Redis 持久化 1、持久化的功能 2、Redis 提供两种方式进行持久化 3、 RDB 持久化 (1)触发条件 (1.1)手动触发 (1.2)自动触发 (1.3&am…

软件测试岗位之大厂到底有多累?

今天给大家分享两个朋友的故事,他们分别在国内两家顶尖的互联网大厂,一个在头条,一个在蚂蚁。 头条的故事 头条的主人公,在入职后的一年里,晚上十点半下班是比较早了,基本上都是十一点半左右下班&#xff…

react context上下文与vue中 provide inject的用法区别

一、react中: 数据传递 1、引入createContext import { createContext } from "react"; 2、创建并导出 export const FspThemeContext createContext({}); 3、传递数据(value项不能缺少!!) ①不解构…

MySQL数据库第一课 ---------安装

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com 目录 虚拟环境虚拟环境 安装虚拟机 自主安装 简易安装 ———————————————————————————————————————— 虚拟环境虚拟环境 我们现在运行代码的环境是在 PyCharm…

prometheus告警发送到钉钉群机器人的全部署流程

前置条件:prometheus安装完成,创建钉钉群机器人,我这里使用的是指定ip的方式 定义告警规则 修改Prometheus配置文件prometheus.yml,添加以下配置: rule_files:- /usr/local/prometheus/rules/*.rulesalerting:alertmanagers:- s…

uni-app/vue 文字转语音朗读(附小程序语音识别和朗读)

语音播报的实现的方法有很多种,我这里介绍集中不引用百度、阿里或者迅飞的API的实现方式。 一、采用new SpeechSynthesisUtterance的方式 废话不多说直接上代码 data() {return {utterThis:null,} },//方法使用this.utterThis new SpeechSynthesisUtterance(); …