各种依赖注入和分层解耦

分层解耦

三层架构

controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据

service:业务逻辑层,处理具体业务的逻辑

dao:数据访问,负责数据访问操作,包括数据的增、删、改、查

流程为:

浏览器->controller(接收请求、响应数据)->service(逻辑处理)->Dao(数据访问)

内聚:软件中各个功能模块内部的功能联系

耦合:衡量软件中各个层/模块之间的依赖、关联程度

控制反转

Inversion Of Control 简称IOC 对象的创建控制权由程序自身转移到外部(容器),这种思想称为控制反转

依赖注入

Dependency Injection 简称DI 容器为应用程序提供运行时,所依赖的资源,称为注入

Bean对象

IOC容器中创建、管理的对象 称为bean

@Component表示将当前类交给IOC容器管理,称为IOC容器的bean

@Autowired表示运行时 IOC会提供该类型的bean对象,并赋值给该变量

Bean的声明

要把某个对象交给IOC容器管理,需要在对应的类上加上如下注解

注解说明位置
@Conponent声明bean的基础注解不属于以下三类时用此注解
@Controller@Conponent的衍生注解标注在控制器类上
@Service@Conponent的衍生注解标注在业务类上
@Repository@Conponent的衍生注解标注在数据访问类上(由于mybatis整合,用的少)

注意:

声明bean的时候,可以通过value属性指定bean的名字,如果没有指定,默认为类名的首字母小写

使用以上四个注解都可以声明bean 但是在springboot集成的网页开发中,声明控制器bean只能用Controller

Bean组件扫描

前面声明bean的四大注解,想要生效,还需要被组件扫描的@ComponentScan扫描

@ComponentScan注解虽然没有显示配置,但是实际上已经包含在了启动类声明注解@SpringBootApplication中

Bean注入

@Autowired注解 默认是按类型进行,如果存在多个相同的bean,将会出现报错

可以通过以下几种方法解决

@Primary(直接在该类上注入就知道我们要注入的是那个类)

@Qualifier(在控制类里面@Autowired上面注入并在里面的value值指定注入的Bean名称(Bean名称一般为指定类的首字母小写))

@Resource(@Autowired不用了 直接在@Autowired的地方注入此注解格式为@Resource=(name="Bean的名称") )

@Resource和@Autowired的区别

1.@Autowired是spring框架提供的注解,而@Resource是jdk提供的注解

2.@Autowired默认按照类型注入,而@Resource默认按照名称注入

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

wsl2安装rancher并导入和创建k8s集群

环境准备 安装wsl2点击此文]ubuntu20.04安装docker 点击此文,安装完成后docker镜像仓库改成阿里云镜像加速地址.如果不熟请点击此文 docker 安装rancher 启动wsl,根据官方文档以root身份执行 sudo docker run -d --restartunless-stopped -p 80:80 -p 443:443 --privileged …

位图转矢量图在线Ai神器,让你的图片无限放大不失真的秘密武器,重点免费、免费、免费

💻开局附上神器地址:Convert PNG, JPG files to SVG vectors online - svg.tmttool.com 这边结合自己的使用场景简单做下使用教程👇商业场景中经常需要对Ai生成的插画图进行二次创作,了解Ai做图的小伙伴就知道生成的图分辨率有限&…

2W 3KVDC 隔离 稳压单输出 DC/DC 电源模块——TPB 系列

TPB系列的输出带稳压和短路保护,特别适合于对输出电压精度和输出纹波噪声有要求的场合,完全兼容TPR和TPG的安装要求。

实现网站HTTPS访问:全面指南

在当今网络安全至关重要的时代,HTTPS已经成为网站安全的基本标准。HTTPS(超文本传输安全协议)通过在HTTP协议基础上加入SSL/TLS加密层,确保了数据在用户浏览器和服务器之间的传输是加密的,有效防止数据被窃取或篡改&am…

河北公司推行精益管理咨询时需要注意哪些问题?

近年来,越来越多的河北公司开始关注并推行精益管理咨询,以期通过优化流程、降低成本、提高效率来获得竞争优势。然而,在实施过程中,公司需要注意一系列问题,以确保精益管理咨询能够顺利推进并取得预期效果。天行健精益…

社交媒体数据恢复:海鸥

在使用社交软件的过程中,难免会遇到一些问题,例如误删聊天记录、丢失重要信息等。对于海鸥社交软件的用户来说,了解如何恢复数据是非常重要的。本篇将为您提供一份详细的海鸥社交软件数据恢复教程。 一、备份与预防措施 在遇到数据丢失的问…

Web地理空间引擎

Web地理空间引擎是指用于在Web上创建和显示地理空间信息的软件平台。它们通常提供一组API和工具,用于加载、可视化和分析地理空间数据。Web地理空间引擎被广泛应用于各种应用,例如地图、导航、位置服务、游戏和模拟等。北京木奇移动技术有限公司&#xf…

【C语言】模拟实现深入了解:字符串函数

🔥引言 本篇将模拟实现字符串函数,通过底层了解更多相关细节 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 🌈C笔记专栏: C笔记 🌈喜欢的诗句:无人扶我青云志 我自…

BLIP2预研笔记

0. 前言 文章是公司内部分享学习写的预研报告,里面有小部分文段是直接从网上借鉴的,侵删 1. 任务和方法历史进化: 在大模型等类似的预训练模型的方式(以包含“预训练阶段”等n阶段训练方式为特色)为主流之前&#xf…

Allegro PCB designer放置振列过空,Via Array,

首先 Place >>Via Array, 然后配置options 选项卡。 最后鼠标左击一下,拉个区域框,再点击一下。如下图 尤其注意鼠标左击一下再左击一下。

电路板维修【一】

最近喜欢上了电路板维修,经常看很多博主的维修视频,觉得还是颇有收获的(维修板子原来有方法可循),于是做笔记如下: 一.【修了半天也没找到问题,原来是检查方向错了,变频油烟机板维修…

短剧奔向小程序,流量生意如何开启?

随着移动互联网的飞速发展,小程序作为一种轻量级、易传播的应用形态,逐渐在各个领域展现出其独特的商业价值。而最近爆火的短剧小视频作为一种受众广泛的娱乐形式,与小程序结合后,不仅为观众提供了更为便捷的观看体验,…

清华团队国产“Sora”火了!画面效果对标OpenAI,长度可达16秒,还能读懂物理规律

Sora席卷世界,也掀起了全球竞逐AI视频生成的热潮。 就在今天,国内又有一支短片引发关注。 视频来自生数科技联合清华大学最新发布的视频大模型「Vidu」。 从官宣消息看,「Vidu」支持一键生成长达16秒、分辨率达1080p的高清视频内容。 更令…

JSP ssm 智能水表管理myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 智能水表管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

JSP ssm 房屋中介管理myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 房屋中介管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

羊大师:羊奶助孩子健康成长秘诀

羊大师:羊奶助孩子健康成长秘诀 在孩子的成长过程中,营养是支撑他们茁壮成长的基石。羊大师发现,羊奶作为一种天然的营养佳品,正以其独特的优势助力孩子的健康成长。 羊奶以其丰富的营养成分为孩子提供了全面的滋养。它富含蛋白质…

C++ -- 函数重载 、引用、 内联函数、auto、基于范围的for循环、指针空值nullptr

目录 1.函数重载 1.1函数重载: 1.2函数重载需要注意: 1.3函数重载的一些特殊情况 1.4为什么C语言不支持函数重载,C支持函数重载?底层逻辑是? 2.引用 2.1 引用特性 2.2 常引用 2.3 权限问题(权限放大,…

技术速递|Python in Visual Studio Code 2024年4月发布

排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展 2024 年 4 月发布! 此版本包括以下公告: 改进了 Flask 和 Django 的调试配置流程Jupyter Run Dependent Cells with Pylance 的模块和导入分析Hatch 环境发…

牛客热题:逆序对数量

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:逆序对数量题目链接方法一&…

【联通官网及APP注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …
最新文章