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

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


目录

一、引言

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)第二个会输出两个结果,因为有依赖关系。

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


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

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

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

相关文章

Linux内核编程(六)平台总线plantform驱动模型

本文目录 前述&#xff1a;为什么引入平台总线模型一、知识点1. 什么是平台总线模型2. 平台总线模型使用3. 平台总线是如何工作的4. 平台总线模型的优点 二、平台总线设备层1. 常用API&#xff08;1&#xff09; 注册一个平台设备&#xff08;2&#xff09; 注销一个平台设备&a…

2748. 美丽下标对的数目

题目 给定一个下标从 0 开始的整数数组 nums。如果下标对 (i, j) 满足 0 ≤ i < j < nums.length&#xff0c;且 nums[i] 的第一个数字与 nums[j] 的最后一个数字互质&#xff0c;那么认为 nums[i] 和 nums[j] 是一组美丽下标对。 对于两个整数 x 和 y&#xff0c;如果…

无忧易售新功能:集成图片库智能图片翻译,跨越语言障碍

在电商全球化的浪潮中&#xff0c;跨越语言的障碍&#xff0c;让产品图像说话&#xff0c;成为了商家致胜的关键。"无忧易售ERP"推出集成图片库与图片翻译功能的全新升级&#xff0c;为全球电商提供一站式解决方案&#xff0c;让商品跨越国界&#xff0c;沟通无界。 …

使用二进制安装安装docker

在一些情况下无法使用yum安装docker下面写了一个使用二进制安装docker的文档 官网下载地址https://download.docker.com/linux/static/stable/x86_64/ 可以按需求下载 wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.10.tgz 下载包 tar xf dcker…

计算机网络 —— 应用层(DHCP)

计算机网络 —— 应用层&#xff08;DHCP&#xff09; 什么是DHCPDHCP工作过程DHCP DISCOVERDHCP OFFERDHCP RQUESTDHCP ACK DHCP租约机制中继代理工作原理功能与优势 我们今天来计网的DHCP&#xff1a; 什么是DHCP DHCP&#xff08;Dynamic Host Configuration Protocol&…

Python11 使用爬虫实现图书250排行榜信息爬取

1.什么是网络爬虫 Python爬虫是使用Python编程语言编写的程序&#xff0c;它能自动从互联网上抓取数据。这类程序一般利用网络请求来访问网站&#xff0c;解析网站的HTML或其他格式的内容&#xff0c;提取出有用的数据&#xff0c;有时还会进行后续的数据处理或存储。 Python…

人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总)

开源大语言模型完整列表 Large Language Model (LLM) 即大规模语言模型&#xff0c;是一种基于深度学习的自然语言处理模型&#xff0c;它能够学习到自然语言的语法和语义&#xff0c;从而可以生成人类可读的文本。 所谓"语言模型"&#xff0c;就是只用来处理语言文…

如何制定数据治理策略?做好这7点就够了

在当今的商业环境中&#xff0c;数据已成为企业最宝贵的资产之一。随着大数据、云计算、物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;等技术的不断进步&#xff0c;企业积累的数据量呈指数级增长&#xff0c;这为企业提供了前所未有的商业机会&…

大语言模型的微调方法_大语言模型六种微调方法

01 引言 自2018年BERT发布以来&#xff0c;“预训练微调”成为语言模型的通用范式。以ChatGPT为代表的大语言模型针对不同任务构造Prompt来训练&#xff0c;本质上仍然是预训练与微调的使用范式。千亿规模的参数微调需要大量算力&#xff0c;即使提供了预训练的基座模型&…

正版 navicat 下载

1. 打开浏览器访问 navicat 官网 Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版 windows 用户选择这三项其中一个就可以 2. 下载 点击之后等个几秒钟就会开始下载了 3. 双击打开 下载好的 .exe 程序 进入安装程序 (不影响之前已经安装过的) 可…

数据结构试题 20-21

真需要就死记吧 二叉树遍历-先序(非递归)【图解代码】_哔哩哔哩_bilibili 解释一下步骤&#xff1a; 一个循环为&#xff1a; 1.取节点 2.放右子树 3.放左子树 每次循环&#xff0c;都要从栈里取出一个节点 先放右子树&#xff0c;再放左子树 那这道题就是&#xff0c;先放1&am…

山西青年杂志山西青年杂志社山西青年编辑部2024年第10期目录

本刊专稿 共融共创、校企共建BIM创新创业中心的探索与实践 黄强;马福贵;贾晓敏;苏艳贞;魏艳卿; 1-3 财务管理课程专创融合教学改革与实践 宋衍程; 4-7 数字化赋能国际贸易实务课程建设研究 吴珍彩; 8-11《山西青年》投稿&#xff1a;cn7kantougao163.com 青年教育研…

智慧学习实践系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;企业管理&#xff0c;任务管理&#xff0c;公告管理&#xff0c;菜单管理&#xff0c;用户管理&#xff0c;基础数据管理 企业账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;任务…

android 在线程中更新界面

在Android中&#xff0c;你不能直接从子线程中更新UI&#xff0c;因为这会导致应用崩溃。你需要使用Handler或runOnUiThread()来更新UI。 使用Handler 以下是如何使用Handler在子线程中更新UI的示例&#xff1a; 1. 创建Handler实例&#xff1a; import android.os.Bundle;…

从boost库到时间戳

一、以问题引入 授权证书一般有到期时间的说法&#xff0c;公司测试同事在测试更新后的证书时&#xff0c;将系统时间调到了2050年&#xff0c;重启服务后发现各个进程的cpu占用率特别高&#xff1b;结合日志分析&#xff0c;发现这些进程 都在不停的刷heartbeat()的日志&#…

常用的Java日志框架:Log4j、SLF4J和Logback

日志是软件开发中不可或缺的一部分&#xff0c;它有助于记录应用程序的运行状态、调试问题和监控系统。Java中有多个流行的日志框架&#xff0c;如Log4j、SLF4J和Logback。 一、Log4j 1.1 什么是Log4j&#xff1f; Log4j是Apache基金会开发的一个开源日志框架&#xff0c;它…

webpack处理样式资源04--webpack入门学习

处理样式资源 本章节学习使用 Webpack 如何处理 Css、Less、Sass、Scss、Styl 样式资源 介绍 Webpack 本身是不能识别样式资源的&#xff0c;所以我们需要借助 Loader 来帮助 Webpack 解析样式资源 我们找 Loader 都应该去官方文档中找到对应的 Loader&#xff0c;然后使用…

【0-1系列】从0-1快速了解搜索引擎Scope以及如何快速安装使用(下)

前言 近日&#xff0c;社区版家族正式发布V2024.5版本&#xff0c;其中&#xff0c;社区开发版系列重磅发布Scope开发版以及StellarDB开发版。 为了可以让大家更进一步了解产品&#xff0c;本系列文章从背景概念开始介绍&#xff0c;深入浅出的为读者介绍Scope的优势以及能力…

链表经典面试题--链表修至圆满

目录 1.环形链表 a.为什么一定会相遇&#xff0c;有没有可能会错过&#xff0c;永远追不上&#xff1f;请证明 b.slow一次走1步&#xff0c;fast走3步 4步 5步 n步还一定追得上吗 请证明 2.环形链表2 3.随机链表的复制 1.环形链表 141. 环形链表 - 力扣&#xff08;Lee…

【stm32-新建工程-寄存器版本】

stm32-新建工程-寄存器版本 ■ 下载相关STM32Cube官方固件包&#xff08;F1&#xff0c;F4&#xff0c;F7&#xff0c;H7&#xff09;■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框&#xff…