Spring之IoC(容器配置、Spring坐标导入、获取bean)

news2024/11/28 16:41:50

这里的话,因为博主学习时间有限,并没有实际去操作,只是学习和了解一个大概的流程。


目录

一、引言

1、管理什么?(对象:Service、Dao ...)

2、如何将被管理的对象告知 IoC 容器?(用配置文件)

3、被管理的对象交给 IoC 容器,如何获取到 IoC 容器?(接口)

4、IoC 容器得到后,如何从容器中获取 bean ? (用接口的方法拿出)

5、使用 Spring 要导入坐标?(在 pom.xml 中)

二、开始操作(博主只是学习了解大概流程...)

(1)写配置文件

1、在 resources 去写程序所需要的配置文件。

2、但是首先要到 pom.xml 文件去导 Spring 的包。

3、现在才正式可以开始写配置文件了。

(2)获取 IoC 容器。(用接口的实现类)

(3)分别获取 bean(接口实现类调用方法)

(4)第二个会输出两个结果,因为有依赖关系。


一、引言

我们要学习在 Spring 的环境下,学习如何运用 IoCDI

首先对应 IoC 的案例思路分析。

1、管理什么?(对象:ServiceDao ...)
2、如何将被管理的对象告知 IoC 容器?(用配置文件)
3、被管理的对象交给 IoC 容器,如何获取到 IoC 容器?(接口)
4、IoC 容器得到后,如何从容器中获取 bean ? (用接口的方法拿出)
5、使用 Spring 要导入坐标?(在 pom.xml 中)

二、开始操作(博主只是学习了解大概流程...)

(1)写配置文件
1、在 resources 去写程序所需要的配置文件。

2、但是首先要到 pom.xml 文件去导 Spring 的包。

去标签下 <dependencies><dependency> 下导入 Spring 的坐标。就是下面如图这样导入:

对于 Spring 的坐标:自己去 Maven 中央仓库查找吧

中央仓库icon-default.png?t=N7T8https://mvnrepository.com/它的 <artifcatId> 里应该是填写 spring-context。(最下面有例子)

然后 <version> 版本的选择就选稳定合适的就行。

<groupId> 就填下面图片所示的。

本人随便去中央仓库找了一个稳定的(例子)

上面写完记得在 IDEA中点右上角刷新按钮。

下面这个是博主的IDEA用来举例的哈。


3、现在才正式可以开始写配置文件了。

接下来去配置 bean。

格式:<bean id=" ... " (为了拿到对应的 bean ,写名字) ,class='' ... '' (这里面写实现类)>

举例:


(2)获取 IoC 容器。(用接口的实现类)

名称:ApplicationContext 变量名 =  new 实现类(参数:写刚刚的配置文件:某某.xml)

(它是一个接口,要 new 一个它的实现类)


(3)分别获取 bean(接口实现类调用方法)

bean定义时 id 属性在同一个上下文中不能重复

第一个

第二个


(4)第二个会输出两个结果,因为有依赖关系。

(看到以下的类、接口结构图可以清楚看到) 


从这上面发现充分解耦并没有完全做好,这篇博客的学习就到这。

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

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

相关文章

Android入门第70天-调用手机摄像头拍照的最全讲解

背景 涉及手机摄像头的应用太多了,有拍照、有摄像、有二维码、条码的扫描。还有AI领域的拍照识图。 无处不使用摄像头。 网上充斥着大多教程,无一例是可以把摄像头给真正驱动起来和完成一个高清拍照并取出照片进行后续处理的流程。这的确是一个不健康的现象。 本篇教程就是…

Springboot3.3 整合Cassandra 4.1.5

一、数据库搭建 -- 创建Keyspace CREATE KEYSPACE school WITH replication {class:SimpleStrategy, replication_factor : 1};-- 创建表 CREATE TABLE student(id int PRIMARY KEY, name text, age int, genders int, address text ,interest set<text>,phone lis…

qml/c++:基础界面的串口设置逻辑

文章目录 文章介绍效果图本机串口打开从虚拟端串口传数据到本机串口 代码添加serialporthandler类serialporthandler.hserialporthandler.cpp获取串口列表打开串口关闭串口清空按钮接收数据按钮逻辑&#xff1a;打开和关闭串口、弹出信息框、按钮文字改变 main.cpp 文章介绍 上…

快捷方式(lnk)--加载HTA-CS上线

免责声明:本文仅做技术交流与学习... 目录 CS: HTA文档 文件托管 借助mshta.exe突破 本地生成lnk快捷方式: 非系统图标路径不同问题: 关于lnk的上线问题: CS: HTA文档 配置监听器 有效载荷---->HTA文档--->选择监听器--->选择powershell模式----> 默认生成一…

大数据学习-Hive 函数

目录 Hive函数 Hive的内置函数 数学函数 取整函数: round 指定精度取整函数: round 向下取整函数: floor 向上取整函数: ceil 取随机数函数: rand 幂运算函数: pow 绝对值函数: abs 字符串函数 字符串长度函数&#xff1a;length 字符串反转函数&#xff1a;reverse 字…

zookeeper + kafka消息队列

zookeeper kafka 消息队列 一、消息队列简介 1、什么是消息队列 消息队列&#xff08;Message Queue&#xff09;是一种用于跨进程或分布式系统中传递消息的通信机制。消息队列在异步通信、系统解耦、负载均衡和容错方面具有重要作用。 &#xff08;1&#xff09;特性 异步…

解决Docker容器启动RabbitMQ报错:error pulling image configuration

解决Docker容器启动RabbitMQ报错&#xff1a;error pulling image configuration 问题原因是&#xff1a;Linux中系统时间跟真实时间相差太多导致。 解决办法就是让Linux的时间和网络时间同步就行了。 yum install -y ntpdate ntpdate 0.cn.pool.ntp.org

技术管理转型之战:决策之道-管理中的智慧与策略

文章目录 引言一、决策的重要性二、常见的决策方式1. 理性决策&#xff08;Rational Decision Making&#xff09;2. 有限理性&#xff08;Bounded Rationality&#xff09;3. 直觉决策&#xff08;Intuitive Decision Making&#xff09;4. 循证管理&#xff08;Evidence-Base…

编码规则UTF-8 和 UTF-16的区别

UTF-8 和 UTF-16 的设计背景与历史 为了更好地理解 UTF-8 和 UTF-16 的设计选择和背景&#xff0c;以下是两种编码方案的历史、设计动机和它们在计算机科学中的应用。 Unicode 的背景 在 Unicode 之前&#xff0c;不同的字符集和编码方案使得跨平台和国际化的文本处理变得复…

[网络安全产品]---EDR

写在前面 前端时间看抖音&#xff0c;刷到周鸿祎介绍360为什么这么厉害&#xff0c;他提到一点就是360是全球第一个提出云查杀概念的公司&#xff0c;相比较传统的基于病毒特征库终端杀毒&#xff0c;360依托积累的庞大的信息数据能有效应对APT攻击。 然后又特意找了一下云查…

高阶图神经网络 (HOGNN) 的概念、分类和比较

图神经网络&#xff08;GNNs&#xff09;是一类强大的深度学习&#xff08;DL&#xff09;模型&#xff0c;用于对相互连接的图数据集进行分类和回归。它们已被用于研究人类互动、分析蛋白质结构、设计化合物、发现药物、识别入侵机器、模拟单词之间的关系、寻找有效的交通路线…

oracle12c到19c adg搭建(五)dg搭建后进行切换19c进行数据字典升级

一、备库切主库升级 12c切换为19c主库的时候是由低版本到高版本所以cdb和pdb的数据字典需要进行升级才可以让数据与软件版本兼容。 1.1切换 SQL> alter database recover managed standby database finish; Database altered. SQL> alter database commit to switcho…

C语言 | Leetcode C语言题解之第164题最大间距

题目&#xff1a; 题解&#xff1a; int maximumGap(int* nums, int numsSize) {if (numsSize < 2) {return 0;}int maxVal INT_MIN, minVal INT_MAX;for (int i 0; i < numsSize; i) {maxVal fmax(maxVal, nums[i]);minVal fmin(minVal, nums[i]);}int d fmax(1,…

计算机网络 MAC地址表管理

一、理论知识 1.MAC地址表&#xff1a;交换机使用MAC地址表来记录各MAC地址对应的端口&#xff0c;用于帧转发的目的。 2.老化机制&#xff1a;交换机会为每一条MAC地址表项设置老化时间&#xff0c;老化时间到期后未收到该MAC地址报文的表项将被删除&#xff0c;释放资源。 …

Java热部署:让应用更新如丝般顺滑,告别繁琐重启!

目录 手动启动热部署 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 什么是热部署&#xff1f;简单说就是你程序改了&#xff0c;现在要重新启动服务器&#xff0c;嫌麻烦&#xff1f;不用重启&#xff0c;服务器会自己悄悄的把更新后的程序给重新加载一遍&…

提升教学效率的全方位解决方案

在现代教育环境中&#xff0c;教学管理的复杂性与日俱增。如何高效管理教学活动、优化教师资源、提升教学质量&#xff0c;是每个教育机构面临的重要挑战。搭贝教务教学管理系统提供了一套全面的解决方案&#xff0c;涵盖了巡检、调课代课、生源登记、监考、外派、作业发布、听…

用群辉NAS打造影视墙(Jellyfin篇)

目录 1、安装Jellyfin媒体服务器 2、配置 (1)语言 (2)管理员账户 (3)添加媒体库 (4)指定元数据语言 (5)远程访问设置 (6)修改文件夹权限 (7)刷新电影 (8)启用硬件加速 3、PC浏览器访问 4、手机客户端 5、智能TV客户端 6、解决演员不能显示中文的问…

基于 NXP LS1046 +FPGA系列 CPCI 架构轨道交通专用板卡

基于 NXP LS1046 系列 CPCI 架构轨道板卡 该产品是一款 CPCI 无风扇架构的高可靠性板卡&#xff0c;CPU 选用 NXP LS1046A 系统平台&#xff0c;支持嵌入式 Linux 或者标准 Ubuntu Linux 、凝思等操作系统&#xff0c;轨道交通 EMC 及宽温级别设计&#xff0c;板载多路 M12 高速…

电脑ai写作软件,4款实用的软件!

在数字化时代&#xff0c;AI写作软件已经成为创作者们不可或缺的工具。它们利用先进的自然语言处理技术和大数据分析&#xff0c;能够快速生成高质量的文章&#xff0c;大大提升了创作效率。那么&#xff0c;市面上有哪些值得一试的电脑AI写作软件呢&#xff1f;让我们一起来盘…

MinIO 网络与覆盖网络

云计算和容器化技术的发展改变了应用程序的开发、部署和管理方式。这种转变给网络环境带来了重大变化&#xff0c;为DevOps和SRE工程师带来了新的挑战和机遇。然而&#xff0c;在这种转变中&#xff0c;出现了明显的知识差距&#xff0c;特别是在理解物理网络和硬件背景下网络的…