重学Spring框架系列之——什么是Spring框架

核心组件大换血:Backbone与Neck魔改篇:YOLO26结合StarNet结构:2026星状网络在YOLO生态的即插即用实战 本文将介绍如何将StarNet作为Backbone替换YOLO26原生架构,以提升边缘设备上的目标检测性能。文章首先分析了YOLO26在特定场景下的精度瓶颈,指出其通用Backbone设计存在不足。随后深入解析StarNet的核心创新——星操作(Star Operation),这一低维计算却能获得高维特征表达的数学魔术,以及其极简的StarBlock模块设计。通过对比YOLO26原生架构的三大创新与痛点,作者提出两种替换策略:完整替换Backbone或局部替换+Neck联调。文中提供了StarNet核心代码 阅读详情

说在前面

Spring框架算得上是java程序员必备的一项技能了。不论是早期的SSM或SSH架构,还是现在流行的SpringBoot加SpringCloud构建的分布式、微服务架构。Spring在其中扮演着不可或缺的角色,其重要性也是不言而喻的。

为了更好的工作和自身的提升,菜鸟又重新学习了一下Spring框架,在学习的过程中也有一些收获,从而想着通过文章将自己的学习过程记录下来。也希望可以帮助到有需要的人。如果文章中存在不合理或错误的地方也希望大家可以提出来,我会及时改正,希望我们可以一起进步。

既然我们要学习Spring框架,那么首要任务肯定是先了解什么是Spring?它能做什么?它有什么优势?它凭什么备受青睐?下面就让我们一起来探索一下Spring的奥义!

Spring基本介绍

Spring框架是由Rod Johnson发起的一个轻量级开源J2EE应用程序框架。

Spring框架是一个针对Bean的生命周期进行管理的的轻量级容器。通俗点来讲Spring就是一个容器,我们的bean都放到这个容器中,让Spring来进行管理。

Spring是一个基于模块化的框架,这就导致我们可以灵活的选择是使用其一部分的功能,还是全部使用,给开发者提供了更多的选择。

Spring是积极拥抱其它框架的,它可以很好的和其它框架进行整合,而不是一门心思想要取而代之。

Spring的核心

Spring有两大核心部分分别是:IOC和AOP。

ICO就是Inversion of Control的缩写,其含义就是“控制反转”。什么是“控制反转”呢?打个比方来说:结婚前你的工资完全由你来支配,想怎么花就怎么花。结婚后变了,你的钱要上交给你媳妇了,你想花的时候得申请。此时你对工资的控制转变了,由原来的你控制,变成了你媳妇控制。这就是“控制反转”。

将这种现象体现在编程中就是:把创建对象的过程交给Spring进行管理,我不再自己动手 new对象,而是从Spring的容器中获取。

AOP就是Aspect Oriented Programming的缩写,其含义就是“面向切面编程”。这个概念就比较抽象了,它的理念就是在不修改源代码的基础上进行功能的增强。我们可以通过下图来辅助理解AOP的含义。

在这里插入图片描述

Spring的特点

1、将Bean交由Spring管理可以方便代码解耦,并且还可以简化日常开发。

2、Spring框架对AOP编程有很好的支持,这样我们可以很方便的对程序进行权限管理、日志收集、运行监控等等。

3、Spring对Junit支持,可以很方便的进行代码的测试。

4、Spring还支持声明式事务,方便进行事务相关的操作。

5、Spring对javaEE的一些API进行了封装,通过使用Spring可降低对这些API的使用难度。

6、Spring是拥抱其它框架的我们可以方便的和其他框架进行整合。

Spring整体模块图

在这里插入图片描述

模块简介

Test模块:对测试的一些相关支持。  
Core Container模块:核心容器模块,Beans和Core是对IOC容器的支持,Context是上下文(环境)相关的支持,Expression是EL表达式的功能。  
AOP和Aspects模块:由这两个模块实现了Spring的AOP相关功能。  
Instrument模块:提供了类植入支持和类加载器的实现,可以应用在特定的应用服务器中。  
Messaging模块:消息传递模块。  
DataAccess/Integration模块:该模块主要用于和数据库交互。  
Web模块:主要包含了面向web的一些功能。

Spring的获取方式

日常开发中我们可访问https://spring.io/ 来获取spring的相关知识。

在这里插入图片描述

可以通过https://repo.spring.io/release/org/springframework/spring/ 这个网址来获取spring所有版本的代码。

在这里插入图片描述

如果是想要获取Spring的maven坐标的话可以通过https://mvnrepository.com/search?q=spring这个网址来查看。

在这里插入图片描述

如果你现在使用的是SpringBoot的项目其实是无需单独配置Spring的坐标的,因为SpringBoot已经将其集成好了。

今天的分享就到这里了,如果感觉“菜鸟”写的文章还不错,记得点赞、转发加关注呦!你们的支持就是我坚持下去的动力。文章哪里写的有问题的也希望大家可以指出,我会虚心受教。

在这里插入图片描述

【2026年华为暑期实习(非AI方向(通软&嵌软&测试&算法&数据科学))-4月8日-第一题- 包裹的编码】(题目+思路+Java&C++&Python解析+在线测试) 摘要:该问题要求将给定的十进制整数N转换为混合进制编码字符串,并处理回文检测。首先根据N的符号位确定编码首位(0或1),然后按输入的进制序列依次对N的绝对值进行取余和整除操作,得到编码数组。将数组元素转换为字母后生成字符串,若字符串为回文则添加"(palindrome)"后缀;否则输出最长回文子串(字典序最小)。算法采用中心扩展法检测回文,时间复杂度为O(L²),空间复杂度为O(L),其中L为字符串长度。 阅读详情

相关推荐

ESP-CSI:使用ESP32进行CSI(信道状态信息)采集

使用esp32进行csi(信道状态信息)采集和处理

capsize的博客 8280

Spring框架的详细学习

Spring 1.本章学习内容 1.Spring框架概要 2.IOC容器 3.AOP 4.jdbcTemplate 5.事务管理 6.Spring5新特性 7.Spring整合MyBatis 2.Spring概要 **概述:**它是轻量级的开源的JavaEE框架 轻量级:他的体积小,依赖的jar包比较少,并且不需要额外依赖其他的组件 开源:免费提供源代码 框架:可以简化我们构建软件的过程 **目的:**为了解决企业级应用的复杂性 核心: IOC:控制反转- 把创建对象的过程交给Spring

zhao_to的博客 809

射频工程师笔记---射频通信基础

回顾一下移动通信技术的发展,其实是互联网和通信技术的融合过程。在这个过程中,很多应用都在不断加入其中。比如计算机跟通信的融合产生了互联网、互联网跟手机的融合带来了移动互联网。手机可以看杂志、看视频、听音乐,于是又出现了内容服务产业;再后来,电视音箱等设备也能联网,于是网络跟家电又产生了融合。所以应用的出现总是在融合其他产业。在1995年,比尔·盖茨在《未来之路》一书中首次提出:在未来...

多年硬件从业经历,热爱学习,记录生活! 2万+

Spring IOC和AOP 原理彻底搞懂

Spring提供了很多轻量级应用开发实践的工具集合,这些工具集以接口、抽象类、或工具类的形式存在于Spring中。通过使用这些工具集,可以实现应用程序与各种开源技术及框架间的友好整合。比如有关jdbc封装的数据访问工具Spring JDBC,有关编写单元测试的spring test包以及spring-mock,有关访问动态脚本语言的Spring Script,另外还有发送邮件的工具Spring Ma

vampire2777的博客 528

VOF模型求解方法:从SIMPLEC到PISO的稳定性优化策略

本文深入探讨了VOF模型求解方法中SIMPLEC与PISO算法的稳定性优化策略,重点分析了两种算法在稳态和瞬态问题中的应用差异。通过对比PRESTO离散化方法与其他格式的优劣,提供了针对多相流模拟的实用设置建议和稳定性优化技巧,帮助工程师有效提升计算效率和精度。

yellow的专栏 1153

光电式烟雾传感器实战指南(一) 光迷宫设计与散射原理篇

本文深入解析了光电式烟雾传感器的核心部件——光迷宫的设计原理与光散射机制。文章详细阐述了如何通过精心设计的光学结构实现‘透气不透光’,并重点探讨了前向散射(尤其是135°角)在提升烟雾监测系统灵敏度与可靠性中的关键作用,为DIY爱好者提供了从理论到实践的完整指南。

weixin_29229055的博客 584

什么是 Spring 框架?

Spring 框架是一个开源的、轻量级的企业级应用框架,用于构建 Java 应用程序。Spring 框架是一个全面而灵活的框架,广泛应用于企业级 Java 应用程序的开发,为开发人员提供了一套丰富而强大的工具和功能,帮助构建可维护、可测试和可扩展的应用。Spring 使用控制反转(IoC)和依赖注入的原则,通过 Spring 容器来管理和注入应用程序中的组件,减少了组件之间的紧耦合。Spring 提供了一个 IoC 容器,它是 Spring 框架的核心组件之一,负责管理应用程序中的对象,进行依赖注入。

周祥平程序专栏 948

从零开始:在Windows WSL中搭建Openfoam7+blastfoam2.0.0开发环境(避坑大全)

本文详细指导在Windows WSL中搭建OpenFOAM 7与BlastFOAM 2.0.0开发环境,重点解析了安装过程中的常见“坑点”,如编译模式不匹配导致的符号错误,并提供了从系统准备、软件部署到环境验证的完整解决方案,帮助开发者高效构建CFD与爆炸模拟开发平台。

stem5的博客 526

什么是Spring框架?

java全站知识点

weixin_46529694的博客 1884

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4948

黑猫带你学UFS协议第8篇:UFS电气特性详解(Power、CLK、Reset等)

UFS强制支持secure mode。UFS设备可能会存储个人或者公司的信息,UFS提供把数据永久从设备上移除的功能,并且保证对存储介质进行逆向恢复数据也恢复不回来原有数据。安全模式是以逻辑单元为单位进行应用的,不同的逻辑单元可以有不同的安全模式。由于UFS设备的存储介质不同,所以把数据安全从存储介质上移除方式会有不同,spec提供了三种通用的移除方法,UFS设备至少支持其中一种。● 对存储的位置进行一次擦除操作。● 对存储的位置使用单一字符(比如0xAA)覆盖写,然后进行擦除。.........

黑猫奥利奥的博客 4076

Spring框架(一):spring框架的简介

一、spring框架的概念 Spring是一个开源轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 二、sp...

yu1755128147的博客 3340

62. 如何通过增强(Enhancement) 的方式给 SAP ABAP 标准程序增添新功能

本文通过一个实际的例子,介绍了如何不通过修改 SAP 标准 ABAP 程序源代码的方式,对其的功能进行增强,即采取 ABAP 增强开发的方式进行二次开发,这是一种在实际 SAP 项目实施过程中使用非常广泛的技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3306

【重学Spring系列】01 - 框架和环境搭建

文章目录1. 前言2. 1. 前言 2019下半年, 我急于求成,开始狂找源码分析的文章和书看, 比如 《Spring源码深度解析》 ,看的一趟糊涂!因为Spring真正复杂的是它的 思想、规范和设计哲学。万丈高楼平地起,我开始从简单的别的框架源码看,又积累了半年,现在继续重学Spring。 学习三件套(工具、代码、大脑) 先从环境搭建开始! 2. ...

听着日落的博客 204

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

重学Spring框架系列之——揭秘Spring两大核心之一的IOC容器

今天菜鸟和大家一起来探讨一下Spring两大核心之一的“IOC”。 IOC是什么 IOC是“Inversion of Control”的缩写,翻译过来就是“控制反转”。 我们先不深究其在Spring中的含义,先从字面上进行分析。打个比方来说:结婚前你的工资完全由你来支配,想怎么花就怎么花。结婚后变了,你的钱要上交给你媳妇了,你想花的时候得申请。此时你对工资的控制转变了,由原来的你控制,变成了你媳妇控制。这就是“控制反转”,本来属于你控制的事情,交由别人来控制,而你只在需要的时候进行获取就可以了。 相信通过这

first_M的博客 216

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

重学Spring框架系列之——设置Bean的加载时机

本文可能会涉及到一些bena的作用域相关的知识,如果对其不是特别了解的可以查看我上一篇文章。 bean的作用域为singleton和prototype时,其对应的加载时机是不同的。 通常情况下spring中bean为单例时,bean实例的创建是在加载配置文件或配置类时创建的,而bean为多实例时,bean实例的创建是在获取该实例时创建的。 通过文字描述可能比较抽象下面通过代码来查看一下。 注意:spring创建实例时默认调用的是无参构造,下面我们在无参构造中加上输出语句用于查看调用时机。 public c

first_M的博客 756

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

重学Spring框架系列之——设置Bean的作用域

Bean的作用域 在Spring中,默认情况下创建的bean都是单实例对象,当然也可以通过实际的需求进行修改。我们可以将这种操作视为设置bean的作用域。实现的方式有配置文件和注解两种形式,然而不论是哪种方式它们都对应了四种作用域。 这四种作用域分别为: singleton(默认值):表示创建的对象是单实例的。 prototype:表示创建的对象是多实例的。 request:表示一次请求生成一个实例。 session:表示一次会话生成一个实例。 注:在这四种作用域中,singleton和prototyp

first_M的博客 1304

重学Spring框架系列之——使用Spring创建自定义Bean的实例

本文将为大家讲解一下如何使用Spring创建自定义的类的实例,也就是将自定义的类交由Spring来管理。下面将会通过XML和注解两种形式来进行演示。 环境准备 为了方便,下面将采取Maven项目进行演示。 pom.xml中添加Spring环境的spring-context和用于测试的junit坐标。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-contex

first_M的博客 576

重学Spring总结

重学Spring总结

北执南念的博客 1256

重学SpringBoot3-Spring WebFlux简介

随着微服务架构的流行和对高并发、低延迟系统需求的增加,响应式编程逐渐成为现代应用开发的主流方式之一。Spring Boot 3 引入了对响应式编程的强大支持,其中 Spring WebFlux 是一个重要的模块。本文将介绍 Spring WebFlux 的概念、特点以及它在实际应用中的场景和优势。

CoderJia的学习之路 5069

重学SpringBoot系列之Spring cache详解

重学SpringBoot系列之Spring cache详解为什么使用缓存为什么使用Spring Cache如何使用Spring Cache加依赖开启缓存加缓存注解测试常用注解@Cacheable缓存中spel表达式可取值@CachePut@CacheEvict@Caching@CacheConfig自定义缓存注解完整应用案例结合源码剖析注解的运行流程入口:基于AOP的拦截器@Cacheable的sync自定义一个keyGenerator使用其它缓存框架使用缓存带来的问题双写不一致占用额外的内存 为什么使用

m0_53157173的博客 3035

重学Spring5

1. Spring 1.1 简介 Spring : 春天 2002年,首次推出Spring框架的雏形 : interface21框架 <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-

weixin_45607293的博客 217

重学SpringBoot3-Spring Retry实践

Spring Retry是Spring生态系统中的一个重要组件,它提供了自动重试失败操作的能力。在分布式系统中,由于网络抖动、服务暂时不可用等临时性故障,重试机制显得尤为重要。本文将详细介绍如何在 SpringBoot 3 应用中集成和使用 Spring Retry。

CoderJia的学习之路 5943

重学SpringBoot3-安装Spring Boot CLI

Spring Boot CLI(Command Line Interface)是 Spring Boot 提供的一个命令行工具,用于简化开发 Spring 应用程序的过程。借助 Spring Boot CLI,开发者可以通过 Groovy 脚本快速创建和运行 Spring 应用,而不需要像传统的 Spring 应用那样配置繁琐的 XML 文件或 Java 配置类。它适用于原型设计、快速实验以及小型应用的开发场景。在这篇博客中,我将详细介绍如何安装和使用 Spring Boot CLI,并演示一些基本用法。

CoderJia的学习之路 3356

重学SpringBoot3-集成Spring Security(四)

在现代应用开发中,安全性和数据管理是两大重要模块。Spring Security提供了全面的安全解决方案,而 Spring Data JPA 则简化了与数据库的交互。将两者结合,可以在保护应用的同时,轻松实现基于用户身份的访问控制、权限管理和安全的数据存储操作。 这篇博客将介绍如何在 Spring Boot 3项目中,整合 Spring Security 和 Spring Data JPA,以实现用户认证和基于数据库的授权机制。

CoderJia的学习之路 1918

重学 Spring(上)

在没有spring 之前,我们生成一个对象是这样子的问题:如果我们的userServiceImpl修改为UserserviceImplNew怎么办,这个地方就需要修改了,耦合度太高的问题,我们引入一个BeanFactory进行修改,让BeanFactory帮我我们生成userservice,这样不就可以解耦了吗,至少在controller中解耦了(即我们的测试类中)

HHH的博客 2210
上一篇: 菜鸟程序员都能看懂的“职责链模式”
下一篇: 重学Spring框架系列之——揭秘Spring两大核心之一的IOC容器
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值