Linux命令:dmesg命令

目录

  • 1 dmesg命令
    • 1.1 简介
    • 1.2 说明
    • 1.3 案例
      • 1、显示所有内核消息
      • 2、实时监控新消息
      • 3、显示特定级别的消息
      • 4、将消息输出到文件
      • 5、搜索包含特定字符串的被检测到的硬件
      • 6、将开机信息发邮件
      • 7、打印并清除内核环形缓冲区
  • 总结

1 dmesg命令

1.1 简介

dmesg 命令在 Linux 系统中用于显示和控制内核的环形缓冲区,内核在启动过程中会将信息存储在这个缓冲区中。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。
执行/bin/dmesg 命令可以查看该记录,开机信息会保存在/var/log/dmesg文件里。

1.2 说明

使用:
dmesg [options]
dmesg --clear
dmesg --read-clear [options]
dmesg --console-level level
dmesg --console-on
dmesg --console-off

常用参数:

  • -C, --clear:清除环形缓冲区。
  • -c, --read-clear:在首次打印其内容后,清除环形缓冲区。
  • -D, --console-off:禁用向控制台打印消息。
  • -d, --show-delta显示时间戳以及消息之间的时间差。如果与 --notime 一起使用,则只打印时间差而不打印时间戳。
  • -E, --console-on:启用向控制台打印消息。
  • -e, --reltime:以人类可读的格式显示本地时间和时间差。需要注意的是,转换为本地时间可能不准确
  • -F, --file file:从给定的文件中读取syslog消息。注意,-F不支持kmsg格式的消息,仅支持旧的syslog格式。
  • -f, --facility list:限制输出到给定的(逗号分隔)设施列表。例如:dmesg --facility=daemon 仅打印来自系统守护进程的消息。
  • -H, --human:启用人类可读的输出。
  • -k, --kernel:打印内核消息。
  • -L, --color[=when]:为输出添加颜色。可选参数when可以是auto、never或always。如果省略when参数,则默认为auto。颜色可以被禁用。
  • -l, --level list:限制输出到给定的(逗号分隔)级别列表。例如:dmesg --level=err,warn 仅打印错误和警告消息。
  • -n, --console-level level:设置向控制台打印消息的级别。级别可以是一个级别编号或级别名称的缩写。例如,-n 1或-n emerg将阻止除紧急(panic)消息外的所有消息出现在控制台上。所有级别的消息仍然写入/proc/kmsg,因此syslogd(8)仍然可以用来控制内核消息的确切显示位置。当使用-n选项时,dmesg不会打印或清除内核环形缓冲区。
  • -P, --nopager:不将输出通过分页器。对于–human输出,分页器是默认启用的。
  • -p, --force-prefix:为每条多行消息添加设施、级别或时间戳信息。
  • -r, --raw:打印原始的消息缓冲区,即不删除日志级别前缀,但所有不可打印的字符仍然会进行转义。
  • -S, --syslog:强制dmesg使用syslog(2)内核接口来读取内核消息。自内核3.5.0以来,默认使用/dev/kmsg而不是syslog(2)。
  • -s, --buffer-size size:使用指定大小的缓冲区来查询内核环形缓冲区。默认值是16392。(默认的内核syslog缓冲区大小最初是4096,自1.3.54版本起是8192,自2.1.113版本起是16384。)如果已将内核缓冲区设置为大于默认值,则可以使用此选项来查看整个缓冲区。
  • -T, --ctime:打印人类可读的时间戳。
  • –until time:显示直到指定时间为止的记录。时间可以以绝对方式指定,也可以通过相对符号(例如’1 hour ago’)指定。请注意,时间戳可能不准确,并参见–ctime以获取更多详细信息。
  • -t, --notime:不打印内核的时间戳。
  • –time-format format:使用给定的格式打印时间戳,可以是ctime、reltime、delta或iso。前三种格式是特定时间格式选项的别名。
  • -u, --userspace:打印用户空间消息。
  • -w, --follow:等待新消息。此功能仅支持具有可读/dev/kmsg的系统(自内核3.5.0起)。
  • -W, --follow-new:等待并仅打印新消息。
  • -x, --decode:将设施和级别(优先级)的数字解码为人类可读的前缀。
  • -V, --version:显示版本信息并退出。
  • -h, --help:显示帮助文本并退出。

1.3 案例

1、显示所有内核消息

dmesg
######## 下面是日志中的一条信息
[ 8992.951812] e1000: ens33 NIC Link is Down
### 参数解释:
[ 8992.951812]:时间戳,表示从系统启动开始到这条消息被记录的时间。在这个例子中,系统已经运行了大约 8999 秒(超过 2 个小时和 28 分钟),然后记录了这条消息。
e1000:驱动程序的名称,e1000 是 Intel PRO/1000 网络适配器系列的内核驱动程序。这表明日志消息与 Intel PRO/1000 系列网卡相关。
ens33:网络接口的名称,通常在 Linux 系统中,ens 开头的接口表示系统上的一个或多个以太网适配器。数字 33 表示这是系统中的第 33 个网络接口,或者它是系统中的第二个接口(因为数字通常从 0 开始计数)。
NIC Link is Down:NIC(网络接口卡)的 "Link" 状态是 "Down",意味着网络连接没有建立。这可能是由于物理连接问题(如网线未插好)、网络配置问题、或者网络设备(如交换机或路由器)的故障。

2、实时监控新消息

dmesg -w
# 持续运行,不会立马退出

在这里插入图片描述

3、显示特定级别的消息

dmesg -l err
# 只显示错误级别消息
[    7.922021] piix4_smbus 0000:00:07.3: SMBus Host Controller not enabled!
[    8.886949] sd 32:0:0:0: [sda] Assuming drive cache: write through
[    8.895433] sd 32:0:1:0: [sdb] Assuming drive cache: write through
[   18.545139] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
[   18.545223] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:38:crtc-0] commit wait timed out
[   28.783596] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
[   28.783676] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [PLANE:34:plane-0] commit wait timed out

4、将消息输出到文件

dmesg > a
# 将消息保存到文件a中

5、搜索包含特定字符串的被检测到的硬件

#查看硬盘的运行模式
dmesg | grep DMA 
##### 输出
[    8.341751] ata31: SATA max UDMA/133 abar m4096@0xfd5be000 port 0xfd5bef00 irq 56
# 解释:
## ata31:这是第一个 SATA 控制器的设备标识。
# SATA max UDMA/133:表示该 SATA 控制器支持最大 UDMA(Ultra DMA)模式 133,这是 SATA 1.0 标准的一部分,支持最高传输速率 1.5 Gbps。
# abar m4096@0xfd5be000:表示该设备的基地址寄存器(abar)被映射到物理内存地址 0xfd5be000,映射大小为 4096 字节。
# port 0xfd5bef00:表示该控制器的端口地址是 0xfd5bef00。
irq 56:表示该设备使用中断请求(IRQ)号 56[    8.666784] ata4.00: ATAPI: VMware Virtual SATA CDRW Drive, 00000001, max UDMA/33
# ata4.00:这是连接到第一个 SATA 控制器的第一个设备的设备标识。
# ATAPI:表示该设备是一个 ATAPI(Advanced Technology Attachment Packet Interface)设备,通常用于 CD/DVD 驱动器。
# VMware Virtual SATA CDRW Drive:表明这是一个 VMware 虚拟机中的虚拟 SATA CD-RW 驱动器。
# 00000001:设备的固件或硬件修订号。
# max UDMA/33:表示该设备支持最大 UDMA 模式 33,这是一个较旧的标准,最高传输速率为 33 Mbps。[    8.667335] ata4.00: configured for UDMA/33
# 这条消息表明 ata4.00 设备已被配置为使用 UDMA 模式 33# 查看以太网的连接信息
dmesg | grep eth
####### 
[    9.032667] e1000 0000:02:01.0 ens33: renamed from eth0[  134.563225] br-b2a8a00701d0: port 1(vetha52f8ac) entered disabled state
# br-b2a8a00701d0:这通常是一个网桥设备的标识符,br 表示它是网桥(bridge)设备。
# port 1:表示这是网桥设备的第一个端口。
# (vetha52f8ac):这是与网桥端口关联的虚拟以太网设备(veth)的标识符。
# entered disabled state:表示 vetha52f8ac 设备已经进入了禁用状态,可能是因为网络配置更改或其他原因导致设备不再传输数据。[  134.563843] device vetha52f8ac entered promiscuous mode
# device vetha52f8ac:再次提到了之前禁用的虚拟以太网设备。
# entered promiscuous mode:表示 vetha52f8ac 设备进入了混杂模式(promiscuous mode)。在混杂模式下,网络设备会接收所有经过的数据包,而不仅仅是发往本机地址的数据包。这通常用于网络监控或路由设备[  137.655590] eth0: renamed from veth15bd933
# 这条消息表明原来的虚拟以太网设备 veth15bd933 被重命名为 eth0
# 这些日志消息通常出现在虚拟化环境中,如使用 Docker 或 Kubernetes 等容器化技术时。在这些环境中,虚拟网络设备(如 veth 对)用于在宿主机和容器之间或容器与容器之间创建网络连接。#查看硬盘设备 
dmesg | grep sda 
###### 
[   51.829348] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
# EXT4-fs (sda3):表示系统正在处理名为 sda3 的 EXT4 文件系统。sda 是指系统中的第一个 SATA 硬盘,3 表示硬盘上的第三个分区。
# mounted filesystem:表示文件系统正在被挂载。
# with ordered data mode:这是指文件系统挂载时使用的特定挂载模式。在这种模式下,文件系统的元数据(如目录结构和文件属性)将在数据之前被写入磁盘,这有助于防止数据损坏和确保文件系统的一致性。
# Opts: (null):表示没有额外的挂载选项被使用。
# Quota mode: none:表示文件系统没有启用磁盘配额功能,即没有限制用户或组可以使用的磁盘空间量。[   53.146690] EXT4-fs (sda3): re-mounted. Opts: (null). Quota mode: none.
# 这条消息表明 sda3 分区被重新挂载。这可能发生在系统启动过程中,或者在系统运行时由于某些原因(如系统升级或维护操作)导致的文件系统卸载和重新挂载。
# 其余信息与第一条消息相同,表明挂载选项和配额模式没有变化。
[   55.910052] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
# 类似于第一条消息,这条消息描述了 sda2 分区的挂载过程,它也是使用有序数据模式挂载,没有额外的挂载选项,并且没有启用磁盘配额。#查看串口的相关信息
dmesg | grep ttyS* 
###### 
[    0.906478] printk: console [tty0] enabled
# printk:这是 Linux 内核的日志打印功能。
# console [tty0]:表示系统控制台输出被配置为 tty0 设备。在 Linux 系统中,tty0 通常是指第一个虚拟控制台,它在物理控制台上提供文本模式登录。
# enabled:表示控制台输出已经被启用,系统日志和启动信息将会显示在物理控制台上。[    2.472713] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
# 00:05:这是设备在系统总线上的位置标识,通常用于标识 PCI 设备。
# ttyS0:表示这是一个串行端口设备,通常用于串行通信。ttyS0 通常是系统中的第一个串行端口。
# at I/O 0x3f8:表示该串行端口在系统的 I/O 地址空间中位于 0x3f8 地址。
# irq = 4:表示该串行端口使用中断请求(IRQ)号 4。
# base_baud = 115200:表示串行端口的基础波特率设置为 115200。波特率是数据传输速率的度量,这里表示每秒传输 115200 个信号单位。
# is a 16550A:表示该串行端口遵循 16550A 标准,这是一种常见的串行通信接口标准,提供了更高的性能和更多的功能。#查看内存状况
dmesg | grep -i memory 
###### 
[    0.575944] Memory: 2887444K/3145204K available (16393K kernel code, 4395K rwdata, 10880K rodata, 3352K init, 18716K bss, 257500K reserved, 0K cma-reserved)
# Memory: 2887444K/3145204K available:表示系统当前有大约 2887444KB(约 2.72 GB)的内存可用,总共有 3145204KB(约 2.96 GB)的内存,其中一部分已经被占用。
# 16393K kernel code:内核代码占用了大约 16393KB(约 16.06 MB)的内存。
# 4395K rwdata:可读写数据段占用了大约 4395KB(约 4.25 MB)的内存。
# 10880K rodata:只读数据段占用了大约 10880KB(约 10.55 MB)的内存。
# 3352K init:初始化数据占用了大约 3352KB(约 3.21 MB)的内存。
# 18716K bss:未初始化的数据段(bss)占用了大约 18716KB(约 18.08 MB)的# 内存。
# 257500K reserved:保留内存大约 257500KB(约 248.53 MB),这部分内存被标记为不可用,通常用于硬件设备或其他系统需求。
# 0K cma-reserved:没有内存被保留给 CMA(Contiguous Memory Allocator),这是一个用于分配大块连续内存的内核特性。
[    0.941328] Freeing SMP alternatives memory: 44K
# 这条消息表明系统释放了 44KB 的内存,这些内存原本是为了对称多处理(SMP)系统中的备用处理器准备的。
[    0.986220] x86/mm: Memory block size: 128MB
# 这表示系统内存管理中的一个内存块大小为 128MB。
[    7.223828] Freeing initrd memory: 107100K
# initrd 是初始内存盘(initramdisk),用于系统启动时加载必要的驱动和服务。这条消息表明系统释放了 107100KB(约 103.68 MB)的 initrd 内存。[    7.375331] Freeing unused kernel image (rodata/data gap) memory: 1408K
# 这条消息表明系统释放了 1408KB(约 1.37 MB)未使用的内核镜像内存,这可能是由于内核的只读数据段和数据段之间存在间隙。
[    8.131759] [TTM] Zone  kernel: Available graphics memory: 1501844 KiB
# TTM(Translation Table Maps)是内核中用于管理图形内存的系统。这条消息表明有大约 1501844KiB(约 1446.14 MB)的图形内存可用。
[    8.132277] vmwgfx 0000:00:0f.0: [drm] Legacy memory limits: VRAM = 4096 kB, FIFO = 256 kB, surface = 0 kB
# vmwgfx 是 VMware 的虚拟图形设备。这条消息表明,对于这个设备,传统的内存限制设置为:视频随机存取内存(VRAM)为 4096 kB(约 4 MB),FIFO(先进先出缓冲区)为 256 kB(约 0.25 MB),表面(surface)内存为 0 kB。
# 这些限制是图形硬件用来存储帧缓冲区、命令缓冲区和其他图形相关数据的内存区域。
[    8.132328] vmwgfx 0000:00:0f.0: [drm] Maximum display memory size is 262144 kiB
# 这条消息表明,使用 DRM(Direct Rendering Manager)系统的 vmwgfx 设备的最大显示内存大小为 262144 kiB(约 256 MB)。#查看usb接口
dmesg | grep -i usb 
####### 
[    9.999485] usbcore: registered new interface driver usbhid
[   10.001329] usbhid: USB HID core driver
[   10.068290] input: VMware VMware Virtual USB Mouse as /devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/2-1:1.0/0003:0E0F:0003.0001/input/input5
[   10.071315] hid-generic 0003:0E0F:0003.0001: input,hidraw0: USB HID v1.10 Mouse [VMware VMware Virtual USB Mouse] on usb-0000:02:00.0-1/input0
[   55.252967] usbcore: registered new interface driver btusb#探测系统内核模块,检测ACPI的加载情况 
dmesg |egrep -i "(apm|acpi)" 
###### 
[    1.929479] ACPI: PCI: Interrupt link LNKD configured for IRQ 7
[    1.958956] ACPI: bus type USB registered
[    1.965893] PCI: Using ACPI for IRQ routing
[    2.113252] pnp: PnP ACPI init
[    2.143049] pnp: PnP ACPI: found 7 devices
[    2.180417] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    2.442210] ACPI: AC: AC Adapter [ACAD] (on-line)
[    2.443001] ACPI: button: Power Button [PWRF]

6、将开机信息发邮件

dmesg >boot.messages
mail -s "Boot Log of Linux Server" admin@local.com <boot.messages

7、打印并清除内核环形缓冲区

dmesg -c

总结

以上的案例及案例中的输出内容只是内核信息中的一小部分,更多内容需要我们继续深入学习。

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

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

相关文章

Lord 3DMCV7-AHRS 时间同步硬件触发设置

目的:通过FPGA发送脉冲触发IMU采集数据。FPGA发送脉冲时,IMU才有数据产生。 FPGA与IMU的硬件接线就不讲了,这里主要说明的是IMU的设置以及ROS驱动的config文件更改。 1. WIN上位机设置 通过IMU在WINDOWS的上位机SensorConnect对IMU的GPIO、波特率等基本功能进行设值,具体…

通过spring boot/redis/aspect 防止表单重复提交【防抖】

一、啥是防抖 所谓防抖&#xff0c;一是防用户手抖&#xff0c;二是防网络抖动。在Web系统中&#xff0c;表单提交是一个非常常见的功能&#xff0c;如果不加控制&#xff0c;容易因为用户的误操作或网络延迟导致同一请求被发送多次&#xff0c;进而生成重复的数据记录。要针…

用pyecharts的overlap绘制叠加图时,设置的颜色不起作用

问题 用pyecharts绘制叠加图时&#xff0c;如折线图上叠加散点图时&#xff0c;分别设置了自己的颜色&#xff08;三角是绿色&#xff0c;圆形是蓝色&#xff09;&#xff0c;但是渲染颜色和图例颜色不一致&#xff0c;如下图所示&#xff0c;折线颜色和散点颜色相同。 解决…

Leet code 904 水果成篮

解题思路&#xff1a;滑动窗口 创建hash表记录水果的种类和数量 两个指针left 和 right 从数组起始位置开始滑动&#xff0c;right在循环内 hash[fruits[right]] 进窗口 然后判断 hash表中的种类是否大于2 一旦大于2就要想办法出窗口 出窗口需要将hash表中种类重回2种 …

python做筛子用

import randomdef roll_dice():roll random.randint(1,10)return roll def main():total_times 100#初始化列表result_list[0]*10for i in range(total_times):print(roll_dice())for j in range(1,11):if roll_dice() j:result_list[j-1] 1if __name__ __main__:main() 结…

基于Java (spring-boot)的个人博客系统

一、项目介绍 登录模块&#xff1a;用户登录、用户注册 普通用户&#xff1a;博客主页、博客随笔、博客留言、个人信息修改 管理员&#xff1a;系统管理、内容管理、文章管理、随笔管理、分类管理、标签管理、留言管理、评论管理、文件管理 博客编辑&#xff1a;支持富文本编辑…

Autosar教程-Mcal教程-Fls配置教程

3.11.1 FLS基础知识 flash操作中有两个术语:block和page。block是flash最小的擦除单位,page则是flash写入的最小单位。以我们使用的F1KM-S4(R7F7016533)来说,它的是64 bytes, page是4bytes。这也就意味着,如果要擦除的话,最小要擦除64 bytes,但是写入可以按4字节的大小写入…

程序员的知识宝库,100+开源书籍、文档

公众号&#xff1a;【可乐前端】&#xff0c;每天3分钟学习一个优秀的开源项目&#xff0c;分享web面试与实战知识&#xff0c;也有全栈交流学习摸鱼群&#xff0c;期待您的关注! 每天3分钟开源 hi&#xff0c;这里是每天3分钟开源&#xff0c;很高兴又跟大家见面了&#xff0…

每日五道java面试题之springMVC篇(四)

目录&#xff1a; 第一题. Spring MVC怎么样设定重定向和转发的&#xff1f;第二题.Spring MVC怎么和AJAX相互调用的&#xff1f;第三题. 如何解决POST请求中文乱码问题&#xff0c;GET的又如何处理呢&#xff1f;第四题. Spring MVC的异常处理&#xff1f;第五题. 如果在拦截请…

iOS面试题锦集

1. 问&#xff1a;一张图片所占内存大小跟什么有关&#xff1f; 图片所占内存大小&#xff0c;与图片的宽高有关 我们平时看到的png、jpg、webp这些图片格式&#xff0c;其实都是图片压缩格式。通过对应的算法来优化了大小以节省网络传输与本地保存所需的资源。 但是当我们加…

操作系统(一)

操作系统 一、操作系统的四个特性 并发性&#xff1a;并发性是指两个或多个时间在同一时间间隔发生&#xff0c;并发和并行是两个相似的概念&#xff0c;并行是指两个或多个事件在同一时刻发生。进程在宏观上并行&#xff0c;微观上串行 2.共享性&#xff1a;** 由于操作系统…

04-java基础--流程控制语句

一、switch语句 二、循环的三种结构 流程控制语句分为三种结构&#xff1a; 顺序结构&#xff08;按代码的书写顺序执行&#xff0c;从上到下依次执行&#xff09;分支结构&#xff08;if语句、if–else语句、switch语句&#xff09;循环结构&#xff08;while、for循环、do–…

H5 响应式精品网站推荐导航源码

源码名称&#xff1a;响应式精品网站推荐导航源码 源码介绍&#xff1a;一款响应式精品网站推荐导航源码&#xff0c;可以自己修改代码替换图标图片和指向网址。背景图支持自动替换&#xff0c;背景图可以在img.php中修改 需求环境&#xff1a;H5 下载地址&#xff1a; http…

python_Anaconda虚拟环境导出以及重现

文章目录 1. 场景2. 解决方案2.1 方案一&#xff1a;直接将打包&#xff0c;然后将包传输到另外一台服务器2.2 方案二&#xff1a;导出环境所有的包名及版本&#xff0c;然后重新安装 1. 场景 我们有时候需要把一个虚拟环境迁移到别的服务器上面去&#xff0c;这时候&#xff…

JavaScript基础(超详细)

目录 1.JavaScript概述 2.JavaScript的组成及其基本结构 1.JavaScript的组成 1.ECMAScript ECMAScript是一种由Ecma国际[前向为欧洲计算机制造商协会(European Computer Manufacturers Associaiton)]通过ECMA-262标准化的脚本程序设计语言。其主要描述了JavaScript的语法…

使用阿里云服务器查看网站备案的方法和注意事项

随着互联网的发展&#xff0c;网站注册已成为在中国建设网站的必要步骤。 在使用阿里云服务器时&#xff0c;我们可以通过以下步骤查看网站注册状态。 备案概述&#xff1a; 在中国&#xff0c;互联网信息服务提供者必须进行登记&#xff0c;以监管互联网内容、规范市场运营和…

P1149 [NOIP2008 提高组] 火柴棒等式

题目描述 给你 &#xfffd;n 根火柴棍&#xff0c;你可以拼出多少个形如 &#xfffd;&#xfffd;&#xfffd;ABC 的等式&#xff1f;等式中的 &#xfffd;A、&#xfffd;B、&#xfffd;C 是用火柴棍拼出的整数&#xff08;若该数非零&#xff0c;则最高位不能是 00&…

C语言:字符串逆序输出, test ok

【问题描述】字符串逆序&#xff1a;设计函数功能是将一个字符串逆序&#xff0c;函数声明&#xff1a;void stringNx(char a[ ])&#xff0c;使用这个函数完成将输入的字符串逆序输出。 【输入形式】要求输入一个字符串 【输出形式】逆序后输出 【样例输入】abcd 【样例输…

美国将采取新政策降低对中国大陆的依赖 | 百能云芯

美国财政部长叶伦13日表示&#xff0c;美国正采取一系列行动来确保国内电动汽车产业的成功&#xff0c;并降低对中国大陆的依赖&#xff0c;这一做法虽然在一定程度上可以理解&#xff0c;但是也存在诸多值得深思的问题。 首先&#xff0c;我们必须承认中国在全球电动车市场的地…

SpringBoot项目根据配置文件初始化并向容器注册Bean

SpringBoot项目根据配置文件初始化并向容器注册Bean 文章目录 SpringBoot项目根据配置文件初始化并向容器注册Bean[TOC] 前言一、场景图示二、实现1.定义一个Condition实现类2.按照配置装配bean 总结 前言 在开发过程种有这种场景&#xff0c;我们在使用数据存储的时候定义了一…