001 Spring介绍

news2024/10/24 10:21:28

文章目录

    • 特点
      • 1.方便解耦,简化开发
      • 2.AOP编程的支持
      • 3.声明式事务的支持
      • 4.方便程序的测试
      • 5.方便集成各种优秀框架
      • 6.降低Java EE API的使用难度
      • 7.Java源码是经典学习范例
    • 好处
    • 什么是耦合和内聚
      • 耦合性,也叫耦合度,是对模块间关联程度的度量
      • 内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展
    • Spring核心概念介绍

https://spring.io/
https://spring.io/projects/spring-framework

在这里插入图片描述

特点

1.方便解耦,简化开发

通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求填写代码,可以更专注上层的应用

2.AOP编程的支持

通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付

3.声明式事务的支持

在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量

4.方便程序的测试

可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。例如:Spring对Junit4支持,可以通过注解方便的测试Spring程序

5.方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts、Hibernate、Hessian、Quartz)等的直接支持

6.降低Java EE API的使用难度

Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低

7.Java源码是经典学习范例

Spring的源码设计精妙、结构清晰、匠心独造,处处体现着大师对Java设计模式灵活应用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。如果想在短时间内迅速提高自己的Java技术水平和应用开发水平,学习和研究Spring源码将会使你收到意想不到的效果

好处

1.低侵入式设计,代码污染极低
2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once Run Anywhere的承诺
3.Spring的DI机制降低了业务对象的替换的复杂性,提高了组件之间的解耦
4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用
5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问
6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部

什么是耦合和内聚

耦合性,也叫耦合度,是对模块间关联程度的度量

在软件工程中,耦合指的就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小
软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准
划分模块的一个准则就是高内聚低耦合

内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应该恰好做一件事

内聚和耦合是密切相关的,同其他模块存在高耦合的模块意味着低内聚,而高内聚的模块意味着该模块同其他模块之间是低耦合

在进行软件设计时,应力取做到高内聚,低耦合

Spring核心概念介绍

IoC(核心中的核心):Inverse of Control,控制反转。对象的创建权力由程序反转给Spring框架
DI:Dependency Injection,依赖注入。在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件中
AOP:Aspect Oriented Programming,面向切面编程。在不修改目标对象的源代码情况下,增强IoC容器中Bean的功能
Spring容器:指的就是IoC容器,底层也就是一个BeanFactory

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝鹏测控公司全长直线度算法项目多部门现场组织验收

关键字:全场直线度算法,直线度测量仪,直线度检测,直线度测量设备, 6月18日上午,蓝鹏测控公司全长直线度算法项目顺利通过多部门现场验收。该项目由公司技术部、开发部、生产部等多个部门共同参与,旨在提高直线度测量精度,满足高精度制造领域需…

ppt转换word文档怎么操作?6个软件让你自己轻松转换文件

ppt转换word文档怎么操作?6个软件让你自己轻松转换文件 将PPT文件转换为Word文档是一项常见的任务,可以通过多种软件和在线工具来实现。以下是六款常用的软件和工具,它们可以帮助您轻松地将PPT文件转换为Word文档: 1.迅捷PDF转换…

Windows上PyTorch3D安装踩坑记录

直入正题,打开命令行,直接通过 pip 安装 PyTorch3D : (python11) F:\study\2021-07\python>pip install pytorch3d Looking in indexes: http://mirrors.aliyun.com/pypi/simple/ ERROR: Could not find a version that satisfies the requirement p…

我们是否需要AI服务器?推动人工智能繁荣发展的AI服务器

揭穿人工智能服务器的炒作 人工智能的研究已经有几十年了,早在 1960 年代,生成式人工智能就已应用于聊天机器人。然而,2022 年 11 月 30 日发布的 ChatGPT 聊天机器人和虚拟助手席卷了 IT 界,让 GenAI 成为家喻户晓的术语&#x…

CheckPoint 防火墙 CVE-2024-24919 VPN 漏洞修复说明

1. 漏洞说明 在 2024 年 5 月 27 日进行安全更新后,Check Point 的专门工作组将继续调查未经授权访问我们客户使用的 VPN 产品的企图。 2024 年 5 月 28 日,我们在远程访问 VPN 社区和移动访问软件刀片中使用 IPsec VPN 的安全网关中发现了一个漏洞 (…

海豚调度监控:使用图关系网络解决核心链路告警,减轻任务运维负担!

💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 祝开卷有益。大数据学习指南 大家好,我是小陶,之前分享了…

Python | Leetcode Python题解之第155题最小栈

题目: 题解: class MinStack:def __init__(self):self.stack []self.min_stack [math.inf]def push(self, x: int) -> None:self.stack.append(x)self.min_stack.append(min(x, self.min_stack[-1]))def pop(self) -> None:self.stack.pop()sel…

Java8 --- Gradle安装及测试使用

目录 一、Gradle 1.1、简介 1.2、安装 1.2.1、注意事项 1.2.2、安装流程 1.2.3、配置共享仓库 1.3、构建项目 1.4、常用指令 1.4.1、gradle classes 1.4.2、gradle clean 1.4.3、gradle test 1.4.4、gradle build 1.5、修改Maven下载源 1.6、Wrapper包装器 1.…

蓝牙模块在智能城市构建中的创新应用

随着科技的飞速发展,智能城市的概念已经逐渐从理论走向实践。物联网技术作为智能城市构建的核心驱动力,正在推动着城市基础设施、交通管理、环境监测等领域的深刻变革。蓝牙模块,作为物联网技术的重要组成部分,以其低功耗、低成本…

数据结构与算法-差分数组及应用

差分数组 差分数组: 其实差分数组是创建一个一个辅助数组,用来表示给定数组的变化,一般用来对数组进行区间修改的操作。 频繁操作数组区间的问题 假设我们要对一个数组进行区间操作。数组为 a {10,10, 20,20,50,… 100}。数组数据比较多。 对…

中新赛克两款数据安全产品成功获得“可信数安”评估测试证书

6月19日,2024数据智能大会在北京盛大召开。 会上,中国2024年上半年度“可信数安”评估测试证书正式颁发。中新赛克两款参评产品凭借过硬的技术水准和卓越的应用效果,成功获得专项测试证书。 2024年上半年度“可信数安”评估测试通过名单 中新…

SpringBoot集成logback初始化源码解析(部分)

一.SpringBoot配置扩展点 SpringBoot日志模块使用监听的方式进行初始化,在SpringBoot项目启动后,会通知日志监听器 在日志监听器中ApplicationStartingEvent事件用来确定到底使用哪个日志系统,logback log4j等 在日志监听器中ApplicationEn…

PFA氟树脂烧杯耐热无接缝带基准刻度量杯30/50/100ml

PFA量杯:可溶性聚四氟乙烯量杯、特氟龙量杯。主要用于痕量超痕量分析、同位素分析等实验室,是国内外洁净的实验室分析器皿。 量杯是上大下小的圆台形,底座宽台设计,保证稳定性,可在实验室中作为定量量取液体的量具&am…

HNU-计算机系统(CSAPP)实验三 BombLab

前言 BombLab来自《深入理解计算机系统》(CSAPP)一书的第三章“程序的机器级表示”的配套实验,该实验的目的是通过反汇编可执行程序bomb,来反推出程序执行内容,进而能够正确破解“密码”,拆除“炸弹”。 …

四川赤橙宏海商务信息咨询有限公司引领抖音电商潮流

在当今数字化浪潮下,电商行业蓬勃发展,抖音电商作为新兴力量,正以其独特的魅力吸引着越来越多的商家和消费者。四川赤橙宏海商务信息咨询有限公司,作为抖音电商服务领域的佼佼者,凭借其专业的团队和丰富的经验&#xf…

番外篇 | 基于YOLOv5-RCS的明火烟雾检测 | 源于RCS-YOLO

前言:Hello大家好,我是小哥谈。RCS-YOLO是一种目标检测算法,它是基于YOLOv3算法的改进版本。通过查看RCS-YOLO的整体架构可知,其中包括RCS-OSA模块。RCS-OSA模块在模型中用于堆叠RCS模块,以确保特征的复用并加强不同层之间的信息流动。本文就给大家详细介绍如何将RCS-YOLO…

新疆旅游创新产品迎活力 伊吾胡杨文旅品牌发布

2024年,随着政策的引领、经济的形态、社会需求的多样化以及新媒体流量的赋能,我国旅游业的主基调将从“快速复苏”转向“理性繁荣”,文旅产业正呈现出前所未有的活力和潜力。6月14日,“千年敦煌万年胡杨”敦煌至伊吾踩线采风行暨伊吾胡杨产品发布大会圆满落幕。会上,景区、旅行…

一名女DBA的感谢信,到底发生了什么?

昨日我们收到这样一通来电 “早上九点刚上班便收到业务投诉电话,系统卡顿,接口失败率大增,怀疑数据库问题。打开运维平台发现是国产库,生无可恋,第一次生产环境遇到国产库性能问题,没什么排查经验&#xf…

什么是Amazon Relational Database Service(Amazon RDS)及实践体验

目录 前言亚马逊云服务免费体验中心三种优惠类型 Amazon RDS什么是Amazon RDS为什么选择 Amazon RDS?Amazon RDS 的优势关键功能详情工作原理Amazon RDSAmazon RDS CustomAmazon RDS on Amazon Outposts 实践创建并连接到 MySQL 数据库实例一、创建 EC2 实例二、创建…

大型Web应用的模块化与组织实践:Flask Blueprints深入解析

目录 一、引言 二、Flask Blueprints概述 三、Flask Blueprints的使用 创建Blueprint对象 定义路由和视图函数 注册Blueprint 使用Blueprints组织代码 四、案例分析 创建模块目录结构 创建Blueprint对象 注册Blueprint 五、代码示例与最佳实践 1. 代码示例 …