自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 分布式全局ID之雪花算法

在当今的数据驱动世界中,对于许多应用程序来说,生成唯一的标识符是至关重要的。这些标识符可以用于标识数据记录、跟踪事务或管理资源。而雪花算法就是一种流行且高效的生成唯一标识符的方法。雪花算法的核心思想是通过结合多个字段来生成一个全局唯一的标识符。它通常由多个部分组成,包括时间戳、机器标识符和序列号。通过这种方式,雪花算法可以确保在分布式系统中生成的标识符是唯一的,并且在时间和空间上具有良好的扩展性。在这篇博客中,我将深入探讨雪花算法的原理、实现以及其在实际应用中的优势。

2023-12-20 19:51:40 2304 3

原创 springboot手动提交事务

在 Spring Boot 框架中,手动提交事务可以提供更细粒度的控制和灵活性。通过手动管理事务的开始、执行和提交/回滚过程,开发人员可以更好地确保数据的一致性和可靠性。本文介绍了如何在 Spring Boot 中手动提交事务,并提供了相关的代码示例

2023-12-11 16:17:30 3717 2

原创 Nginx_入门

欢迎来到 Nginx 的世界!Nginx 是一款强大的 Web 服务器和反向代理服务器,被广泛应用于互联网上的众多网站和应用程序。在这个博客中,我将带领你踏上学习 Nginx 的旅程,从入门开始,逐步深入了解这个令人惊叹的工具。无论你是一个开发者、系统管理员,还是对 Web 服务器有兴趣的技术爱好者,Nginx 都能为你提供强大的功能和灵活性。通过学习 Nginx,你将能够更好地理解如何构建高性能、可靠的 Web 应用程序。

2024-01-23 16:53:54 1402

原创 Dubbo_扩展

在分布式系统和微服务架构中,Dubbo 是一个非常流行和强大的开源框架。它提供了一系列高级特性,使开发人员能够构建高可扩展、高可用的分布式应用程序。本博客将深入探讨 Dubbo 的一些高级特性,帮助你更好地理解和利用这些特性来解决实际的业务问题。我们将介绍如服务动态路由、服务治理、负载均衡策略、容错机制等方面的内容。通过深入了解 Dubbo 的高级特性,你将能够更好地应对分布式系统中的复杂性,提高应用程序的可靠性、可扩展性和性能。

2024-01-23 15:50:43 870

原创 Dubbo_入门

在当今的软件开发领域,分布式系统已经成为常态。而在分布式系统中,如何有效地管理和调用服务成为了一个重要的挑战。这就是 Dubbo 框架应运而生的原因。Dubbo 是一个高性能、易用的分布式服务框架,它为开发者提供了一种简单而高效的方式来构建分布式系统。通过 Dubbo,你可以轻松地将服务拆分为多个独立的模块,并在不同的机器上部署它们。这样可以提高系统的可伸缩性和可靠性。在接下来的博客文章中,我将带领你逐步了解 Dubbo 的入门使用。

2024-01-22 21:44:23 1433

原创 Zookeeper的使用

在如今的数据驱动时代,分布式系统已经成为企业和组织处理大规模数据和提供高可靠性服务的重要手段。而 Zookeeper 作为一种分布式协调服务框架,在分布式系统中扮演着关键的角色。Zookeeper 提供了一个简单而强大的机制来管理分布式应用程序的状态。它通过提供一个共享的注册表,使得分布式系统中的各个节点可以协调彼此的行为,实现一致性、可靠性和可伸缩性。在这篇博客中,我将深入探讨 Zookeeper 的核心概念、功能和应用场景。我们将了解 Zookeeper 如何实现配置管理、命名服务等重要功能。

2024-01-22 20:44:49 1329

原创 RocketMQ集群搭建

无论你是开发人员、架构师还是系统管理员,搭建一个高效可靠的消息队列集群对于应用的性能和可靠性都至关重要。我希望这篇博客能够为你提供有价值的指导,帮助你在实际项目中更好地利用 RocketMQ 集群的强大功能。提示:以下是本篇文章正文内容,下面案例可供参考例如:以上就是今天要讲的内容,本文仅仅简单介绍了RocketMQ的集群部署,如果大家有什么疑问,欢迎在评论区提出,大家一起学习与进步!

2024-01-20 16:17:29 384

原创 RocketMQ之扩展

RocketMQ 是一个高性能、高可靠的分布式消息队列中间件,它为企业级应用提供了强大的消息传输和处理能力。在本扩展中,我们将深入探讨 RocketMQ 的高级特性和消息发布的相关内容。通过本扩展,你将了解到 RocketMQ 的一些高级特性,如事务消息、延迟消息、消息过滤、消息回溯等。这些特性将帮助你更好地构建和管理复杂的消息传递场景,满足不同业务需求。另外,我们还将详细介绍 RocketMQ 的消息发布机制,包括如何设置生产者属性、选择合适的 Topic、控制消息发送频率以及处理消息失败等。

2024-01-20 15:37:48 1177

原创 消息队列之RocketMQ

在当今的分布式系统和微服务架构中,消息队列扮演着至关重要的角色。它们提供了可靠的异步通信和消息传递机制,使得不同的系统组件能够协调工作,提高了系统的可靠性、可扩展性和性能。在众多的消息队列中,RocketMQ 以其高性能、高可靠性和丰富的特性脱颖而出。它是由阿里巴巴开源的一款分布式消息中间件,经过了大规模生产环境的验证,被广泛应用于各种行业和场景。在本博客中,我将深入探讨 RocketMQ 的核心概念、工作原理、安装部署以及实际应用。

2024-01-19 17:33:15 996

原创 RabbitMQ扩展

在当今的分布式系统和微服务架构中,消息队列扮演着至关重要的角色。而 RabbitMQ 作为一款强大而灵活的消息队列中间件,以其高级特性、死信队列和延迟队列等功能,成为了许多企业和开发人员的首选。在这篇博客中,我们将深入探讨 RabbitMQ 的一些高级特性,如消息优先级、持久性、队列和交换器的绑定、消息确认等。这些特性使得 RabbitMQ 在处理高并发、高可靠性的应用场景时表现卓越。另外,我们还将详细介绍 RabbitMQ 的死信队列和延迟队列。

2024-01-18 17:17:00 1255 2

原创 RabbitMQ之消息的可靠性传递

在当今的信息化时代,消息传递在企业级应用和分布式系统中扮演着至关重要的角色。而 RabbitMQ 作为一款强大的消息队列中间件,以其可靠性和高性能成为了众多开发者的首选。本文将深入探讨 RabbitMQ 中消息的可靠性传递机制,以及如何在实际应用中确保消息的不丢失。通过阅读本文,您将了解到 RabbitMQ 可靠消息传递的核心概念和工作原理。我们将探讨消息确认、持久性、队列和交换机的配置以及错误处理等关键主题,以帮助您构建高度可靠的消息传递系统。

2024-01-18 16:03:59 1226 2

原创 消息队列之RabbitMQ工作模式

在这篇博客中,我将深入探讨 RabbitMQ 的工作模式,带你领略它的强大之处。我们将了解到 RabbitMQ 如何通过队列、交换机、绑定等核心概念实现消息的路由和传递。你将学习到不同类型的交换机,以及它们如何根据消息的路由键将消息路由到相应的队列。无论你是刚刚接触消息队列,还是已经有一定经验的开发者,这篇博客都将为你提供深入了解 RabbitMQ 工作模式的机会。通过实际的案例和代码示例,我将帮助你更好地理解如何使用 RabbitMQ 来解决实际的业务问题。

2024-01-17 17:40:55 1122

原创 消息队列之RabbitMQ介绍

在当今的分布式系统和微服务架构中,消息队列扮演着至关重要的角色。它们为应用程序提供了一种可靠的异步通信机制,使得各个组件之间能够高效地传递消息和协调工作。而在众多的消息队列技术中,RabbitMQ 无疑是一个备受关注和广泛应用的佼佼者。RabbitMQ 是一个开源的消息队列服务器,它基于 AMQP(Advanced Message Queuing Protocol)协议实现。通过使用 RabbitMQ,开发人员可以轻松地实现应用程序之间的消息传递、异步处理和流量削峰等功能。

2024-01-17 16:32:19 1472 2

原创 Shiro之授权

在当今的应用开发中,安全是至关重要的一环。而 Shiro 作为一个强大而灵活的安全框架,为我们提供了一种简单而有效的方式来管理应用程序的授权。在这篇博客中,我将带领大家深入了解 Shiro 的授权功能,以及如何使用 Shiro 来保护我们的应用程序。通过实际的案例和代码示例,我将向你展示如何使用 Shiro 来控制对资源的访问,以及如何实现细粒度的权限控制。你将了解到如何定义权限、分配角色,以及在运行时进行动态的授权决策。

2024-01-07 18:12:56 872 1

原创 Shiro之认证

当涉及到应用程序的安全性时,身份验证和授权是至关重要的环节。Shiro 框架以其简单而强大的特性,成为了处理这两个关键任务的流行选择。在这篇博客中,我们将深入探讨 Shiro 框架的认证功能。通过使用 Shiro,你将能够轻松地管理用户的身份验证过程,确保只有经过授权的用户能够访问受保护的资源。我们将了解 Shiro 的核心概念,如 Subject、Realm 和 Credentials,以及它们在认证过程中的作用。

2024-01-07 16:32:47 926

原创 Spring Security之授权

Spring Security 是一个强大而灵活的安全框架,它为 Spring 应用程序提供了全面的安全解决方案。它旨在简化安全功能的开发和集成,使开发者能够更专注于业务逻辑。通过使用 Spring Security,你可以轻松地实现认证、授权、会话管理、加密等安全功能。在这一系列博客文章中,我们将深入探讨 Spring Security 的授权部分。授权是指确定用户或角色是否具有访问特定资源或执行特定操作的权限。

2024-01-06 17:39:45 1158

原创 Spring Security之认证

当涉及到构建安全的 Web 应用程序时,Spring Security 是一个广受欢迎且功能强大的框架。它提供了一系列的特性和功能,用于保护应用程序免受未经授权的访问。在这篇博客中,我们将深入探讨 Spring Security 的认证部分。认证是安全体系的第一道防线,它确保只有经过身份验证的用户才能访问受保护的资源。我们将从 Spring Security 的基础知识开始,了解它的核心概念和组件。然后,我们将逐步介绍如何使用 Spring Security 实现常见的认证方式,如用户名和密码登录。

2024-01-06 15:56:22 1374

原创 Spring Task之定时任务

在软件开发中,定时任务是非常常见的需求。它们允许我们在预定的时间或间隔内自动执行某些特定的操作,如数据备份、文件清理、报表生成等。而 Spring Task 就是 Spring 框架提供的一个强大工具,用于简化定时任务的开发和管理。通过 Spring Task,我们可以轻松地定义、配置和执行定时任务,无需关心复杂的线程管理和调度细节。它提供了灵活的任务执行机制,可以根据需求设置任务的执行时间、频率以及执行的逻辑。在这篇博客中,我将深入探讨 Spring Task 之定时任务的相关概念和特性。

2024-01-04 16:10:37 1049

原创 SpringBoot之项目管理

在当今的软件开发领域,项目管理是至关重要的一环。它确保了项目的按时交付、质量的保证以及团队的高效协作。而在 Spring Boot 框架的加持下,项目管理变得更加高效和便捷。在这篇博客中,我将介绍两个在 Spring Boot 项目管理中非常重要的方面:指标监控和日志管理。这两个内容对于确保项目的顺利运行和问题的快速定位起着关键作用。指标监控可以帮助我们实时了解项目的性能和健康状况。通过收集和分析各种指标数据,我们可以及时发现系统的瓶颈、异常情况和性能问题,并采取相应的措施进行优化和修复。

2024-01-03 16:52:09 1302 1

原创 SpringBoot之参数校验

在 SpringBoot 的世界里,参数校验是确保数据完整性和正确性的重要一环。它就像是一道坚固的防线,守护着我们的应用程序,防止恶意或错误的数据闯入。想象一下,如果没有参数校验,我们的应用将会面临各种数据不一致、空指针异常等问题,就像是一场噩梦。但是,有了 SpringBoot 的参数校验功能,我们可以轻松地对传入的参数进行检查,确保它们符合我们的预期。这就像是给我们的应用程序加上了一层保护罩,让我们可以放心地处理数据,而不用担心数据的质量问题。

2024-01-03 16:17:48 1017

原创 SpringBoot之注册Web组件

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。在当今的互联网时代,Web 应用程序已经成为了人们日常生活和工作中不可或缺的一部分。而SpringBoot 作为一个基于 Java 的轻量级框架,因其简单易用、快速开发和高效运行的特点,受到了越来越多开发者的青睐。在SpringBoot 应用程序中,注册 Web 组件是一个非常重要的环节。

2024-01-02 15:16:26 1095

原创 SpringBoot之YAML文件的使用

在当今的软件开发领域,Spring Boot 已经成为了一个非常流行和广泛使用的框架。它简化了 Java 应用程序的开发过程,使开发者能够更加高效地构建企业级应用。在 Spring Boot 中,配置文件是应用程序的重要组成部分。而 YAML 作为一种人性化的表现形式,因其简洁、易读和易于维护的特点,逐渐成为了 Spring Boot 配置文件的首选格式。在这篇博客中,我将向你介绍 YAML 文件在 Spring Boot 中的使用。

2024-01-01 16:34:25 1035

原创 SpringBoot之入门使用

Spring Boot 是一个基于 Spring 框架的 Java Web 开发框架,旨在简化 Spring 应用程序的搭建和开发过程。它提供了一系列的特性和工具,使得开发者可以更加快速和高效地创建企业级应用程序。在这篇博客中,我将介绍 Spring Boot 的入门使用,包括如何创建一个简单的 Spring Boot 项目、如何运行和调试应用程序,以及如何使用一些常用的 Spring Boot 特性。

2024-01-01 14:47:17 1747

原创 MyBatisPlus之逻辑删除

在学习MyBatisPlus的过程中,逻辑删除是一个比较重要的知识点。逻辑删除是指使用一个特殊的字段来表示数据库表中的一条记录是否被删除了(或是否存在),例如为数据库表中的每一条记录都增加一个is_delete字段,当is_delete为1时,表示该记录已经被删除了,当is_delete为0时,表示该记录还有效。与逻辑删除相对的就是物理删除,指直接从数据库中删除记录。逻辑删除是为了方便数据恢复和保护数据本身价值等的一种方案,但实际就是删除。如果需要频繁查出来看就不应使用逻辑删除,而是以一个状态去表示。

2023-12-30 15:42:23 1882

原创 MybatisPlus之常用插件的使用

在使用MybatisPlus进行数据库操作时,为了提高开发效率和代码质量,可以使用一些常用的插件。以下是一篇关于MybatisPlus常用插件使用的博客前言:MybatisPlus是一个支持自动映射和简化数据库操作的Mybatis增强工具,提供了丰富的注解和扩展功能,可以帮助开发人员轻松地进行数据库的增删改查操作。在使用MybatisPlus的过程中,合理地使用插件可以进一步提高开发效率和代码质量。在这篇博客中,我们将介绍MybatisPlus中常用的插件,包括分页插件、乐观锁插件等。

2023-12-30 14:49:03 1122

原创 MyBatisPlus之增删改查

在当今的软件开发领域,Java 一直占据着重要的地位。而在 Java 数据库操作方面,MyBatis-Plus 以其简洁、高效、易用的特点,成为了许多开发者的首选。MyBatis-Plus 是一个基于 MyBatis 的增强工具,它在 MyBatis 的基础上进行了扩展和优化,提供了更加方便快捷的数据库操作方式。使用 MyBatis-Plus,我们可以通过注解和配置文件来轻松地实现数据库的增删改查操作,极大地提高了开发效率。

2023-12-30 14:09:38 1825

原创 MyBatis之关联查询

在使用MyBatis进行数据库操作时,关联查询是一种重要的查询方式。它能够在一个查询中同时检索多个表中的数据,从而提高查询效率和性能。在开始学习和使用MyBatis的关联查询之前,我们需要先了解一些基础概念和知识,包括数据库表、实体类、Mapper接口和Mapper.xml文件等。在接下来的博客文章中,我们将逐步学习如何使用MyBatis进行关联查询,并通过示例代码演示如何实现多对一和一对多的关联查询。希望通过这些介绍,你能够掌握MyBatis关联查询的基本知识和技能,并能够在实际项目中应用这些知识。

2023-12-29 16:00:35 1083

原创 MyBatis之缓存

在当今的 Web 应用程序中,性能是至关重要的。缓存是提高应用程序性能的一种常用技术,它可以减少数据库查询的次数,从而提高应用程序的响应时间。MyBatis 是一个流行的 Java ORM(对象关系映射)框架,它提供了强大的缓存功能,可以帮助开发者提高应用程序的性能。在本博客中,我们将介绍 MyBatis 缓存的基本概念和工作原理,以及如何在 MyBatis 中配置和使用缓存。我们还将介绍一些常见的缓存策略和缓存过期机制,以帮助开发者更好地管理缓存。

2023-12-29 14:39:25 1554

原创 MyBatis之动态Sql

动态SQL是MyBatis的强大功能特性之一,能够完成不同条件下的sql拼接。简单来说,动态SQL是指随着用户的输入或外部条件的变化而变化的SQL语句。在接下来的博客中,我们将介绍MyBatis中用于生成动态SQL的标签,包括、、、和等。通过这些标签,我们可以根据不同的条件和输入来动态地构建和执行SQL语句,以满足各种数据操作需求。在每个标签的介绍中,我们将提供示例和解释,以便您能够更好地理解和应用动态SQL。

2023-12-28 16:08:42 1395

原创 MyBatis之配置文件和映射文件

在使用 MyBatis 框架进行数据库操作时,需要配置 MyBatis 的配置文件和映射文件。这些文件用于定义数据库连接信息、映射规则以及 SQL 语句等。配置文件是 MyBatis 框架的核心配置文件,它包含了数据库连接信息、事务管理器配置、映射文件位置等信息。一般情况下,配置文件的名称为 mybatis-config.xml,并放置在项目的根目录下。映射文件是用于定义数据库表与实体类之间的映射关系的文件。它包含了 SQL 查询语句、结果集映射以及参数传递等信息。

2023-12-28 15:23:02 1359

原创 Mybatis之增删改查

好的,以下是为你生成的生成 Mybatis 之增删改查博客的前言:在当今的软件开发领域,Java 仍然是最受欢迎和广泛使用的编程语言之一。而在 Java Web 开发中,MyBatis 是一个非常流行的 ORM(对象关系映射)框架,它简化了数据库操作,提高了开发效率。在这篇博客中,我将详细介绍如何使用 MyBatis 实现增删改查操作。我们将从 MyBatis 的基础知识开始,逐步引导你完成一个完整的示例项目,涵盖了增加、删除、修改和查询数据的常见操作。

2023-12-27 16:42:39 1185

原创 Mybatis之入门使用

MyBatis 是一个优秀的持久层框架,它简化了数据库操作,提高了开发效率。在这篇博客中,我将带领你入门 MyBatis,了解如何使用它来操作数据库。通过阅读这篇博客,你将了解到 MyBatis 的基本概念和架构,以及如何使用 MyBatis 创建映射文件、配置数据源和进行数据库操作。无论是刚开始学习 MyBatis,还是已经有一定经验的开发者,这篇博客都将为你提供一个清晰的指导,帮助你更好地理解和使用 MyBatis。让我们一起开始 MyBatis 的学习之旅吧!

2023-12-27 13:26:12 927

原创 Mybatis之什么是Mybatis框架

MyBatis 是一个优秀的 Java 持久层框架,它简化了数据库操作,提高了开发效率。在这篇博客中,我将深入探讨 MyBatis 框架的核心概念、优势以及使用方法。通过阅读这篇博客,你将了解到 MyBatis 如何通过灵活的映射机制和强大的查询语言,使数据库操作变得更加简单和高效。无论你是刚刚接触 MyBatis,还是已经在项目中使用过它,都能从中学到有用的知识。让我们一起探索 MyBatis 的世界,掌握它的精髓,为你的项目开发带来更大的便利!

2023-12-26 20:39:52 954

原创 Servlet技术之Listener监听器

在 Java Web 开发中,Servlet 技术是一种非常重要的技术。它用于创建动态的 Web 页面,处理用户请求和生成响应。而 Listener 监听器则是 Servlet 技术中的一个重要组成部分,它允许开发者在特定的事件发生时执行自定义的代码。通过使用 Listener 监听器,开发者可以在 Servlet 生命周期的不同阶段执行自定义的代码,例如在初始化阶段、请求处理阶段和销毁阶段。这为开发者提供了更多的灵活性和控制力,使他们能够更好地管理和监控 Servlet 的行为。

2023-12-26 19:25:54 976

原创 Servlet技术之Filter

Filter 过滤器则是 Servlet 技术的一个重要组成部分。它可以拦截请求和响应,在它们到达 Servlet 之前或之后进行预处理和后处理。Filter 过滤器的作用包括权限验证、日志记录、数据加密、缓存处理等。通过使用 Filter,我们可以增强博客系统的安全性、性能和可扩展性。通过阅读本博客,读者将不仅了解 Servlet 技术和 Filter 过滤器的基本原理,还将掌握如何将它们应用于实际的博客开发中。无论是博客新手还是有经验的开发者,都可以从中受益,并提升自己的技能水平。

2023-12-25 20:23:28 1057

原创 Servlet技术之Cookie对象与HttpSession对象

在博客应用程序中,用户的登录状态、偏好设置等信息需要在多个页面之间进行传递和共享。在 Servlet 技术中,我们可以使用 Cookie 对象和 HttpSession 对象来实现这一目标。Cookie 对象是一种在客户端存储少量数据的机制,它将数据以键值对的形式存储在用户的浏览器中。通过设置和获取 Cookie 对象,我们可以在客户端和服务器之间传递一些简单的状态信息。

2023-12-25 16:23:46 1220

原创 Servlet技术之ServletContext对象

在 Java 的 Servlet 技术中,ServletContext 对象是一个非常重要的概念。它代表着整个 Web 应用程序的上下文环境,包括了应用程序的配置信息、初始化参数、资源路径等。通过 ServletContext 对象,我们可以在不同的 Servlet 之间共享信息,以及获取应用程序的全局信息。在这篇博客中,我们将深入探讨 ServletContext 对象的作用、使用方法以及一些常见的应用场景。

2023-12-25 14:54:04 986

原创 SpringMVC之跨域请求

在互联网应用中,跨域请求是一个常见的问题。当一个网页向另一个不同域名的服务器发送请求时,就会触发跨域请求。由于浏览器的同源策略限制,这种请求可能会被禁止,从而导致无法正常获取数据或执行其他操作。在 SpringMVC 框架中,处理跨域请求可以通过@CrossOrigin来实现跨域。@CrossOrigin是 Spring Framework 4.2 引入的一个注解,用于标识某个类、接口或方法允许跨域请求。

2023-12-24 21:13:28 1052

原创 SpringMVC之拦截器

在 SpringMVC 框架中,拦截器是一个非常重要的组件,它可以在请求处理之前和之后进行额外的操作,比如日志记录、权限验证、参数校验等。拦截器的使用可以大大提高应用的可扩展性和可维护性。通过使用拦截器,我们可以将一些通用的功能独立出来,实现代码的复用。这样,当需要添加新的功能或修改现有功能时,只需要修改拦截器即可,而不需要修改每个请求处理的控制器。此外,拦截器还可以提供更好的安全性。我们可以在拦截器中进行权限验证,只有具有相应权限的用户才能访问某些页面或操作。

2023-12-24 20:39:56 1170

原创 SpringMVC之异常处理

在 Java Web 开发中,异常处理是一个非常重要的环节。它确保了程序能够在出现异常情况时合理地处理错误,而不会导致系统崩溃或出现不友好的错误提示。SpringMVC 作为一个流行的 Web 框架,提供了一套完善的异常处理机制,使得开发者能够更方便地处理异常情况。在本博客中,我们将深入探讨 SpringMVC 中的异常处理。我们将从异常处理的基本概念和原则开始,然后逐步介绍 SpringMVC 中异常处理的相关配置和注解。

2023-12-24 19:30:26 1213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除