Spring知识点总结

2023-11-14

一、Spring框架介绍

Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库。

spring的优势

(1)方便解耦,简化开发       

        通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。

(2)AOP 编程的支持

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

(3)声明式事务的支持

(4)方便程序的测试

(5)方便集成各种优秀框架

spring的体系结构

二、IOC和DI

  • 什么是程序的耦合

耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立)。在软件工程中,耦合指的就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。<

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring知识点总结 的相关文章

随机推荐

  • Java进阶知识点5:服务端高并发的基石 - NIO与Reactor模式以及AIO与Proactor模式

    一 背景 要提升服务器的并发处理能力 通常有两大方向的思路 1 系统架构层面 比如负载均衡 多级缓存 单元化部署等等 2 单节点优化层面 比如修复代码级别的性能Bug JVM参数调优 IO优化等等 一般来说 系统架构的合理程度 决定了系统在
  • 在QGIS下开发python插件

    本文来自CSDN博客 转载请标明出处 http blog csdn net xiluoduyu 出于研究sextante代码的需要 抽空查了下QGIS下python插件的开发流程 具体的操作参考英文的PyQGIS 的开发帮助文档 QGIS是
  • 生成时间段内每一天

    String bigtimeStr 2019 07 01 String endtimeStr 2019 08 01 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd Date bigt
  • 使用sleuth实现微服务跟踪

    在微服务架构中 众多的微服务之间互相调用 如何清晰地记录服务的调用链路是一个需要解决的问题 同时 由于各种原因 跨进程的服务调用失败时 运维人员希望能够通过查看日志和查看服务之间的调用关系来定位问题 而Spring cloud sleuth
  • aix卷组故障维护

    author skatetime 2009 04 24 故障描述 4 20日早晨 发现日报没有正常发送 登录数据库备机查看原因 查看系统的log命令 errpt more 没有发现什么异常 不过发现有如下错误 F3931284 041005
  • 《动手学深度学习》(七) -- 边界框和锚框

    1 边界框 在目标检测中 我们通常使用边界框 bounding box 来描述对象的空间位置 边界框是矩形的 由矩形左上角的以及右下角的 x x x和 y y y坐标决定 另一种常用的边界框表示方法是边界框中心的
  • 在js中 String 转json

    第一种方式 使用js函数eval testJson eval testJson 是错误的转换方式 正确的转换方式需要加 testJson eval testJson eval 的速度非常快 但是他可以编译以及执行任何JavaScript程序
  • 人脸识别技术也被应用到了移动支付领域

    随着智能手机及互联网的发展 移动支付已经成为了目前我国增速最快的支付方式 在移动支付发展过程中 各种新型的支付方式层出不穷 如二维码支付 NFC支付等 近年来 伴随着人工智能 机器学习及传感器的逐步发展 生物识别技术也被应用到了移动支付领域
  • python提取邮件的附件,以excel为例

    配置邮箱 读取基本的邮件内容请参考 python读取并解析邮箱邮件 读取邮件主题 内容 时间 以excel为例 获取邮件 email value config imap server imap exmail qq com username
  • 变量的作用域和生命周期

    目录 作用域 局部变量的作用域 局部变量的生命周期 生命周期 全局变量的作用域 全局变量的生命周期 作用域 作用域是程序设计概念 一段程序代码中所用到的名字并不总是有效 可用的 而限定这个名字的可用性的范围就是其作用域 通俗来说就是它在哪里
  • 通用定时器part1:相关原理介绍

    2018 4 18 stm32 1 介绍 1 对于STM32f103rc而言 一共存在着8个定时器 有着4个16位通用定时器 2个16位高级定时器 2个16位基本定时器 2 1 高级定时器 1 16位 可以采用向上 向下或向上 下计数器模式
  • Shader的属性和语义

    属性 Shader 属性property就是Unity面板和shader的连接器 Properties Numbers and Sliders ExampleName Integer display name Integer 1 Examp
  • Redis学习:Redis缓存穿透和雪崩

    缓存穿透和雪崩 大规模的缓存击穿 两者的区别就是 缓存穿透是一个key缓存没数据 数据库也没有数据 请求全部打到数据库层面上 数据库也没数数据 无能为力 缓存层和数据库层都没有 真的是透了 雪崩先理解缓存击穿 就是很多请求一个key 这个k
  • obsidian配合hugo的使用,让markdown本地编辑软件与在线化无缝衔接

    下载安装 点击打开obsidian官方网站 下载并安装 安装地址为 C Users 当前账号 AppData Local Obsidian C Users 当前账号 AppData Local obsidian updater 创建新库 起
  • Elasticsearch 之 数据索引

    对于提供全文检索的工具来说 索引时一个关键的过程 只有通过索引操作 才能对数据进行分析存储 创建倒排索引 从而让使用者查询到相关的信息 本篇就ES的数据索引操作相关的内容展开 更多内容参考 Elasticsearch资料汇总 索引操作 最简
  • Are you running in a Servlet container that supports JSR-356

    最近使用websocke出现以下问题 No javax websocket server ServerContainer ServletContext attribute Are you running in a Servlet conta
  • Docker-compose安装mysql

    介绍 本系列文章主要介绍使用docker compose部署mysql nginx redis等中间件 前后分离微服务项目部署流程 不介绍docker安装以及基础命令 话不多说首先进入mysql安装教学 操作 首先创建个目录用来存放dock
  • unity让一个物体从上到下消失_Unity3D中隐藏与显示物体的一些操作

    在使用unity3d开发游戏的过程中 我们常常会遇到需要隐藏或者显示的操作 针对这一点 下面做了一些总结 一 设置Renderer状态 在游戏的开发中 所有能够被渲染的物体都包含有一个Renderer组件 使用它可以将物体渲染到屏幕上 那么
  • linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法

    最近一直忙于项目上的要求 在编写各种自动化安装的脚本 正好有一个需求是在之前的项目上编写过的 目前只需要拿来修改下即可 之前的shell脚本是在服务器上编写的 后来又已复制的方式存在在了电脑上 以txt文件的形式存放的 于是复制到了编辑工具
  • Spring知识点总结

    一 Spring框架介绍 Spring 是分层的 Java SE EE 应用 full stack 轻量级开源框架 以 IoC Inverse Of Control 反转控制 和 AOP Aspect Oriented Programmin