商品详情
书名:Spring Boot 3核心技术与*佳实践
定价:158.0
ISBN:9787121452901
作者:周红亮
版次:*1版
出版时间:2023-04
内容提要:
本书是一本针对Java开发人员的图书,旨在帮助Java开发人员掌握Spring Boot的基本使用,以及深入了解Spring Boot的应用及原理。本书内容由浅入深、循序渐进,*1~5章介绍Spring Boot的基础知识(基础入门、配置管理、Starter、自动配置、启动过程与扩展应用、日志管理),第6~9章介绍Spring Boot的综合应用(Web、数据访问、计划任务、缓存、消息队列),*10~12章介绍Spring Boot应用的附加能力(调试、单元测试、打包、部署、监控、报警),全面覆盖了Spring Boot的核心知识要点。本书涵盖了笔者多年的研究和实践经验,从中提炼出了核心知识要点,从Spring Boot的基本概念和基础实践入手,再通过大量的知识点分析及代码实践,详细介绍如何利用Spring Boot简化开发过程,提高开发效率。
作者简介:
周红亮(英文名为John),具有多年编程开发和系统架构经验,在大型互联网公司担任过Java高发开发工程师、开发主管、系统架构师等职位。负责并参与过多个大型分布式系统的设计和研发、改造等,从中积累了大量的微服务系统架构经验。同时也是微信公众号“Java技术栈(ID:javastack)”的作者,笔名 为“栈长”,关注并分享*新的Java及IT行业技术,在公众号分享原创文章超过500篇,全网累积阅读达数千万,已帮助大量求职者进入BAT等大厂工作。
媒体评论:
本书以Spring Boot 3.0为基础,解读Spring Boot核心技术,包括核心知识点、技术原理、应用方式、与第三方主流技术集成的方法等,再到服务的测试、调试、部署和监控等,一站式学习和掌握Spring Boot核心技术。1. 全面本书全面介绍了Spring Boot,覆盖Spring Boot所有主流知识点,包括基础入门、配置管理、Starter与自动配置、启动过程与扩展应用、Web核心应用、日志管理、数据访问、计划任务、缓存与息队列、调试与单元测试、打包与部署、监控与报警等。2. 全新本书的讲解和实战均基于Spring Boot的主版本3.0.0,书中带有“Spring Boot 3.0新变化”“Spring Boot 3.0+”等标识,方便读者对Spring Boot 3.0新特性和变更项有一个更清晰的认识,读者从Spring Boot 2.x迁移到Spring Boot 3.x也可以有一个对比参考。3. 实用本书不但介绍了Spring Boot的理论知识,还提供了大量的底层原理分析,并为核心知识点、第三方主流技术的集成与应用提供了大量实战案例,理论和实践相结合,清晰易懂,使读者可以更好地吸收和理解。4. *威本书以Spring Boot官方文档和Spring Boot框架源码作为主要参考依据,包括里程碑版本和正式版本的文档、框架源码,再辅以知识点实践和验证,以确保知识点的*威性和正确性。
目录:
*1章 Spring Boot基础入门
1.1 Spring Boot概述
1.1.1 诞生背景
1.1.2 基本介绍
1.1.3 核心思想
1.1.4 基本特性
1.1.5 核心模块
1.1.6 Spring Boot与Spring MVC、Spring之间的关系
1.2 Spring Boot安装集成
1.2.1 版本周期
1.2.2 支持版本
1.2.3 环境要求
1.2.4 集成方式
1.3 快速开发一个Spring Boot接口
1.3.1 生成项目
1.3.2 导入依赖
1.3.3 编写接口
1.3.4 启动应用
1.3.5 测试接口
1.4 快速使用Maven
1.4.1 基本介绍
1.4.2 使用方式
1.4.3 Gradle Wrapper
1.5 Spring Boot CLI
1.5.1 概述
1.5.2 安装方式
1.5.3 命令行自动补全
1.5.4 快速开始
1.6 开启Spring Boot之旅
*2章 Spring Boot配置管理
2.1 配置类
2.1.1 自定义配置类
2.1.2 导入配置
2.2 配置文件
2.2.1 application
2.2.2 bootstrap
2.2.3 配置文件类型
2.3 配置绑定
2.3.1 Spring中的配置绑定
2.3.2 参数绑定
2.3.3 构造器绑定
2.3.4 Bean配置绑定
2.3.5 参数类扫描
2.3.6 配置验证
2.4 外部化配置
2.4.1 配置源
2.4.2 配置优先级
2.4.3 命令行参数
2.5 导入配置
2.6 随机值配置
2.7 多文档配置
2.7.1 配置格式
2.7.2 激活多文档配置
2.8 Profile
2.8.1 默认的Profile
2.8.2 激活Profile
2.8.3 切换Profile
2.8.4 Profile分组
2.8.5 指定Profile配置文件
2.8.6 使用限制
2.9 加载机制
2.10 配置加密
2.10.1 概述
2.10.2 使用配置中心(支持自动解密)
2.10.3 使用数据库机制
2.10.4 使用自定义加/解密机制
2.10.5 Jasypt Spring Boot
2.11 配置迁移
2.11.1 迁移方案
2.11.2 实现原理
第3章 Spring Boot Starter与自动配置
3.1 概述
3.2 Starter的命名规范
3.3 Starter的分类
3.3.1 application starter
3.3.2 production starter
3.3.3 technical starter
3.4 自动配置
3.4.1 概述
3.4.2 命名规范
3.4.3 自动配置文件的加载原理
3.4.4 自动配置原理
3.4.5 自动配置报告
3.4.6 排除自动配置
3.4.7 替换自动配置
3.5 邮件Starter
3.5.1 概述
3.5.2 发邮件实践
3.6 自定义Starter
3.6.1 创建Starter工程
3.6.2 创建自动配置类
3.6.3 注册自动配置类(spring.factories)
3.6.4 使用Starter
3.6.5 注册自动配置类(新规范)
第4章 Spring Boot启动过程与扩展应用
4.1 启动入口
4.1.1 应用启动类
4.1.2 应用启动方法
4.1.3 启动引导类
4.2 关闭启动日志
4.3 启动失败分析
4.3.1 失败分析器
4.3.2 自定义失败分析器
4.4 全局懒加载
4.5 启动图案
4.5.1 默认图案
4.5.2 输出模式
4.5.3 图案实现类
4.5.4 自定义图案
4.6 启动事件和监听器
4.6.1 启动事件的顺序
4.6.2 自定义事件监听器
4.7 启动运行器
4.7.1 概述
4.7.2 使用方式
4.8 应用启动流程
4.8.1 实例化流程
4.8.2 启动流程
第5章 Spring Boot日志管理
5.1 概述
5.2 日志格式
5.3 控制台日志
5.4 日志文件
5.5 日志级别
5.6 日志分组
5.7 日志归档
5.8 日志配置文件
5.8.1 概述
5.8.2 日志配置模板
5.8.3 自定义日志配置文件
5.9 切换Log4j2日志框架
5.10 切换日志框架版本
5.11 输出彩色日志
5.11.1 开启彩色日志输出
5.11.2 日志上色原理
5.11.3 自定义日志颜色
5.12 日志关闭钩子
第6章 Spring Boot Web核心应用
6.1 概述
6.2 嵌入式容器
6.2.1 概述
6.2.2 容器配置
6.2.3 切换容器
6.2.4 随机空闲端口
6.2.5 SSL
6.2.6 持久化
6.2.7 优雅关闭
6.3 自定义Web配置
6.4 注册拦截器
6.5 注册消息转换器
6.6 注册类型转换器
6.7 注册Servlet、Filter、Listener
6.7.1 Spring Boot的手动注册
6.7.2 组件扫描注册
6.7.3 动态注册
6.8 静态资源处理
6.9 模板引擎
6.10 异常处理
6.10.1 默认的异常处理
6.10.2 自定义全局异常
6.10.3 自定义异常状态码页面
6.11 参数校验
6.11.1 概述
6.11.2 约束注解
6.11.3 参数校验示例
6.12 国际化
6.12.1 概述
6.12.2 自动国际化
6.12.3 切换国际化
6.13 分布式会话
6.14 跨域
6.15 安全性
6.15.1 默认的安全机制
6.15.2 自定义安全机制
6.16 REST服务调用
6.16.1 RestTemplate(Servlet)
6.16.2 WebClient(Reactive)
第7章 Spring Boot数据访问
7.1 概述
7.2 嵌入式数据库
7.3 数据源
7.3.1 概述
7.3.2 自定义数据源
7.4 连接池
7.4.1 概述
7.4.2 使用Druid连接池
7.5 数据库初始化
7.6 事务管理
7.6.1 概述
7.6.2 事务失效的场景
7.7 JdbcTemplate
7.7.1 数据库操作
7.7.2 自定义JdbcTemplate
7.8 Spring Data JPA
7.8.1 概述
7.8.2 数据库操作
7.9 MyBatis
7.9.1 概述
7.9.2 数据库操作
7.10 MyBatis-Plus
7.10.1 概述
7.10.2 通用数据库操作
7.10.3 自定义数据库操作
7.11 Redis
7.11.1 概述
7.11.2 Redis环境搭建
7.11.3 Spring Boot集成Redis
7.12 MongoDB
7.12.1 概述
7.12.2 MongoDB环境搭建
7.12.3 Spring Boot集成MongoDB
7.13 Elasticsearch
7.13.1 概述
7.13.2 Elasticsearch环境搭建
7.13.3 Spring Boot集成Elasticsearch
第8章 Spring Boot计划任务
8.1 Spring计划任务
8.1.1 概述
8.1.2 线程池工作流程
8.1.3 实现计划任务
8.1.4 Cron表达式
8.1.5 自定义线程池
8.2 Quartz计划任务
8.2.1 概述
8.2.2 实现计划任务
8.2.3 自定义配置
8.2.4 持久化任务数据
8.2.5 动态维护任务
第9章 Spring Boot缓存与消息队列
9.1 缓存
9.1.1 概述
9.1.2 开启缓存
9.1.3 默认简单缓存
9.1.4 Redis缓存
9.2 消息系统
9.2.1 概述
9.2.2 ActiveMQ
9.2.3 RabbitMQ
9.2.4 Kafka
*10章 Spring Boot调试与单元测试
10.1 断点调试
10.1.1 使用main方法启动调试
10.1.2 使用Maven插件启动调试
10.2 *发者工具
10.2.1 概述
10.2.2 默认值
10.2.3 自动重启
10.2.4 实时重载
10.2.5 全局配置
10.3 单元测试
10.3.1 概述
10.3.2 真实环境测试
10.3.3 Mock环境测试
10.3.4 Mock组件测试
10.3.5 技术框架测试
*11章 Spring Boot打包与部署
11.1 应用打包(jar)
11.1.1 概述
11.1.2 快速打包
11.1.3 自定义打包
11.2 应用打包(war)
11.2.1 概述
11.2.2 配置war包
11.2.3 开始打包
11.3 应用运行(嵌入式容器)
11.3.1 使用java命令运行
11.3.2 直接运行
11.3.3 系统服务运行
11.3.4 拆包运行
11.4 部署Docker容器
11.4.1 概述
11.4.2 Docker环境搭建
11.4.3 基于Dockerfile构建镜像
11.4.4 基于Cloud Native Buildpacks构建镜像
11.5 GraalVM原生镜像(Spring Boot 3.0+)
11.5.1 概述
11.5.2 GraalVM应用与传统应用的区别
11.5.3 创建GraalVM原生镜像的应用
11.5.4 构建基于GraalVM的原生镜像应用
*12章 Spring Boot监控与报警
12.1 Spring Boot Actuator概述
12.2 Endpoints(端点)
12.2.1 概述
12.2.2 内置端点
12.2.3 启用端点
12.2.4 暴露端点
12.2.5 端点安全性
12.2.6 自定义端点映射
12.2.7 端点实现机制
12.2.8 自定义端点
12.3 loggers(日志端点)
12.4 Observability(可观测性,Spring Boot 3.0+)
12.5 Metrics(指标)
12.5.1 内置指标
12.5.2 自定义指标
12.6 Traces(链路跟踪,Spring Boot 3.0+)
12.6.1 概述
12.6.2 链路跟踪环境搭建
12.6.3 链路跟踪/展示
12.7 Spring Boot Admin
12.7.1 概述
12.7.2 环境搭建
12.7.3 监控页面
12.7.4 监控报警
12.8 Prometheus+Grafana
12.8.1 概述
12.8.2 Prometheus指标暴露
12.8.3 Prometheus环境搭建
12.8.4 Grafana数据可视化
12.8.5 监控报警
定价:158.0
ISBN:9787121452901
作者:周红亮
版次:*1版
出版时间:2023-04
内容提要:
本书是一本针对Java开发人员的图书,旨在帮助Java开发人员掌握Spring Boot的基本使用,以及深入了解Spring Boot的应用及原理。本书内容由浅入深、循序渐进,*1~5章介绍Spring Boot的基础知识(基础入门、配置管理、Starter、自动配置、启动过程与扩展应用、日志管理),第6~9章介绍Spring Boot的综合应用(Web、数据访问、计划任务、缓存、消息队列),*10~12章介绍Spring Boot应用的附加能力(调试、单元测试、打包、部署、监控、报警),全面覆盖了Spring Boot的核心知识要点。本书涵盖了笔者多年的研究和实践经验,从中提炼出了核心知识要点,从Spring Boot的基本概念和基础实践入手,再通过大量的知识点分析及代码实践,详细介绍如何利用Spring Boot简化开发过程,提高开发效率。
作者简介:
周红亮(英文名为John),具有多年编程开发和系统架构经验,在大型互联网公司担任过Java高发开发工程师、开发主管、系统架构师等职位。负责并参与过多个大型分布式系统的设计和研发、改造等,从中积累了大量的微服务系统架构经验。同时也是微信公众号“Java技术栈(ID:javastack)”的作者,笔名 为“栈长”,关注并分享*新的Java及IT行业技术,在公众号分享原创文章超过500篇,全网累积阅读达数千万,已帮助大量求职者进入BAT等大厂工作。
媒体评论:
本书以Spring Boot 3.0为基础,解读Spring Boot核心技术,包括核心知识点、技术原理、应用方式、与第三方主流技术集成的方法等,再到服务的测试、调试、部署和监控等,一站式学习和掌握Spring Boot核心技术。1. 全面本书全面介绍了Spring Boot,覆盖Spring Boot所有主流知识点,包括基础入门、配置管理、Starter与自动配置、启动过程与扩展应用、Web核心应用、日志管理、数据访问、计划任务、缓存与息队列、调试与单元测试、打包与部署、监控与报警等。2. 全新本书的讲解和实战均基于Spring Boot的主版本3.0.0,书中带有“Spring Boot 3.0新变化”“Spring Boot 3.0+”等标识,方便读者对Spring Boot 3.0新特性和变更项有一个更清晰的认识,读者从Spring Boot 2.x迁移到Spring Boot 3.x也可以有一个对比参考。3. 实用本书不但介绍了Spring Boot的理论知识,还提供了大量的底层原理分析,并为核心知识点、第三方主流技术的集成与应用提供了大量实战案例,理论和实践相结合,清晰易懂,使读者可以更好地吸收和理解。4. *威本书以Spring Boot官方文档和Spring Boot框架源码作为主要参考依据,包括里程碑版本和正式版本的文档、框架源码,再辅以知识点实践和验证,以确保知识点的*威性和正确性。
目录:
*1章 Spring Boot基础入门
1.1 Spring Boot概述
1.1.1 诞生背景
1.1.2 基本介绍
1.1.3 核心思想
1.1.4 基本特性
1.1.5 核心模块
1.1.6 Spring Boot与Spring MVC、Spring之间的关系
1.2 Spring Boot安装集成
1.2.1 版本周期
1.2.2 支持版本
1.2.3 环境要求
1.2.4 集成方式
1.3 快速开发一个Spring Boot接口
1.3.1 生成项目
1.3.2 导入依赖
1.3.3 编写接口
1.3.4 启动应用
1.3.5 测试接口
1.4 快速使用Maven
1.4.1 基本介绍
1.4.2 使用方式
1.4.3 Gradle Wrapper
1.5 Spring Boot CLI
1.5.1 概述
1.5.2 安装方式
1.5.3 命令行自动补全
1.5.4 快速开始
1.6 开启Spring Boot之旅
*2章 Spring Boot配置管理
2.1 配置类
2.1.1 自定义配置类
2.1.2 导入配置
2.2 配置文件
2.2.1 application
2.2.2 bootstrap
2.2.3 配置文件类型
2.3 配置绑定
2.3.1 Spring中的配置绑定
2.3.2 参数绑定
2.3.3 构造器绑定
2.3.4 Bean配置绑定
2.3.5 参数类扫描
2.3.6 配置验证
2.4 外部化配置
2.4.1 配置源
2.4.2 配置优先级
2.4.3 命令行参数
2.5 导入配置
2.6 随机值配置
2.7 多文档配置
2.7.1 配置格式
2.7.2 激活多文档配置
2.8 Profile
2.8.1 默认的Profile
2.8.2 激活Profile
2.8.3 切换Profile
2.8.4 Profile分组
2.8.5 指定Profile配置文件
2.8.6 使用限制
2.9 加载机制
2.10 配置加密
2.10.1 概述
2.10.2 使用配置中心(支持自动解密)
2.10.3 使用数据库机制
2.10.4 使用自定义加/解密机制
2.10.5 Jasypt Spring Boot
2.11 配置迁移
2.11.1 迁移方案
2.11.2 实现原理
第3章 Spring Boot Starter与自动配置
3.1 概述
3.2 Starter的命名规范
3.3 Starter的分类
3.3.1 application starter
3.3.2 production starter
3.3.3 technical starter
3.4 自动配置
3.4.1 概述
3.4.2 命名规范
3.4.3 自动配置文件的加载原理
3.4.4 自动配置原理
3.4.5 自动配置报告
3.4.6 排除自动配置
3.4.7 替换自动配置
3.5 邮件Starter
3.5.1 概述
3.5.2 发邮件实践
3.6 自定义Starter
3.6.1 创建Starter工程
3.6.2 创建自动配置类
3.6.3 注册自动配置类(spring.factories)
3.6.4 使用Starter
3.6.5 注册自动配置类(新规范)
第4章 Spring Boot启动过程与扩展应用
4.1 启动入口
4.1.1 应用启动类
4.1.2 应用启动方法
4.1.3 启动引导类
4.2 关闭启动日志
4.3 启动失败分析
4.3.1 失败分析器
4.3.2 自定义失败分析器
4.4 全局懒加载
4.5 启动图案
4.5.1 默认图案
4.5.2 输出模式
4.5.3 图案实现类
4.5.4 自定义图案
4.6 启动事件和监听器
4.6.1 启动事件的顺序
4.6.2 自定义事件监听器
4.7 启动运行器
4.7.1 概述
4.7.2 使用方式
4.8 应用启动流程
4.8.1 实例化流程
4.8.2 启动流程
第5章 Spring Boot日志管理
5.1 概述
5.2 日志格式
5.3 控制台日志
5.4 日志文件
5.5 日志级别
5.6 日志分组
5.7 日志归档
5.8 日志配置文件
5.8.1 概述
5.8.2 日志配置模板
5.8.3 自定义日志配置文件
5.9 切换Log4j2日志框架
5.10 切换日志框架版本
5.11 输出彩色日志
5.11.1 开启彩色日志输出
5.11.2 日志上色原理
5.11.3 自定义日志颜色
5.12 日志关闭钩子
第6章 Spring Boot Web核心应用
6.1 概述
6.2 嵌入式容器
6.2.1 概述
6.2.2 容器配置
6.2.3 切换容器
6.2.4 随机空闲端口
6.2.5 SSL
6.2.6 持久化
6.2.7 优雅关闭
6.3 自定义Web配置
6.4 注册拦截器
6.5 注册消息转换器
6.6 注册类型转换器
6.7 注册Servlet、Filter、Listener
6.7.1 Spring Boot的手动注册
6.7.2 组件扫描注册
6.7.3 动态注册
6.8 静态资源处理
6.9 模板引擎
6.10 异常处理
6.10.1 默认的异常处理
6.10.2 自定义全局异常
6.10.3 自定义异常状态码页面
6.11 参数校验
6.11.1 概述
6.11.2 约束注解
6.11.3 参数校验示例
6.12 国际化
6.12.1 概述
6.12.2 自动国际化
6.12.3 切换国际化
6.13 分布式会话
6.14 跨域
6.15 安全性
6.15.1 默认的安全机制
6.15.2 自定义安全机制
6.16 REST服务调用
6.16.1 RestTemplate(Servlet)
6.16.2 WebClient(Reactive)
第7章 Spring Boot数据访问
7.1 概述
7.2 嵌入式数据库
7.3 数据源
7.3.1 概述
7.3.2 自定义数据源
7.4 连接池
7.4.1 概述
7.4.2 使用Druid连接池
7.5 数据库初始化
7.6 事务管理
7.6.1 概述
7.6.2 事务失效的场景
7.7 JdbcTemplate
7.7.1 数据库操作
7.7.2 自定义JdbcTemplate
7.8 Spring Data JPA
7.8.1 概述
7.8.2 数据库操作
7.9 MyBatis
7.9.1 概述
7.9.2 数据库操作
7.10 MyBatis-Plus
7.10.1 概述
7.10.2 通用数据库操作
7.10.3 自定义数据库操作
7.11 Redis
7.11.1 概述
7.11.2 Redis环境搭建
7.11.3 Spring Boot集成Redis
7.12 MongoDB
7.12.1 概述
7.12.2 MongoDB环境搭建
7.12.3 Spring Boot集成MongoDB
7.13 Elasticsearch
7.13.1 概述
7.13.2 Elasticsearch环境搭建
7.13.3 Spring Boot集成Elasticsearch
第8章 Spring Boot计划任务
8.1 Spring计划任务
8.1.1 概述
8.1.2 线程池工作流程
8.1.3 实现计划任务
8.1.4 Cron表达式
8.1.5 自定义线程池
8.2 Quartz计划任务
8.2.1 概述
8.2.2 实现计划任务
8.2.3 自定义配置
8.2.4 持久化任务数据
8.2.5 动态维护任务
第9章 Spring Boot缓存与消息队列
9.1 缓存
9.1.1 概述
9.1.2 开启缓存
9.1.3 默认简单缓存
9.1.4 Redis缓存
9.2 消息系统
9.2.1 概述
9.2.2 ActiveMQ
9.2.3 RabbitMQ
9.2.4 Kafka
*10章 Spring Boot调试与单元测试
10.1 断点调试
10.1.1 使用main方法启动调试
10.1.2 使用Maven插件启动调试
10.2 *发者工具
10.2.1 概述
10.2.2 默认值
10.2.3 自动重启
10.2.4 实时重载
10.2.5 全局配置
10.3 单元测试
10.3.1 概述
10.3.2 真实环境测试
10.3.3 Mock环境测试
10.3.4 Mock组件测试
10.3.5 技术框架测试
*11章 Spring Boot打包与部署
11.1 应用打包(jar)
11.1.1 概述
11.1.2 快速打包
11.1.3 自定义打包
11.2 应用打包(war)
11.2.1 概述
11.2.2 配置war包
11.2.3 开始打包
11.3 应用运行(嵌入式容器)
11.3.1 使用java命令运行
11.3.2 直接运行
11.3.3 系统服务运行
11.3.4 拆包运行
11.4 部署Docker容器
11.4.1 概述
11.4.2 Docker环境搭建
11.4.3 基于Dockerfile构建镜像
11.4.4 基于Cloud Native Buildpacks构建镜像
11.5 GraalVM原生镜像(Spring Boot 3.0+)
11.5.1 概述
11.5.2 GraalVM应用与传统应用的区别
11.5.3 创建GraalVM原生镜像的应用
11.5.4 构建基于GraalVM的原生镜像应用
*12章 Spring Boot监控与报警
12.1 Spring Boot Actuator概述
12.2 Endpoints(端点)
12.2.1 概述
12.2.2 内置端点
12.2.3 启用端点
12.2.4 暴露端点
12.2.5 端点安全性
12.2.6 自定义端点映射
12.2.7 端点实现机制
12.2.8 自定义端点
12.3 loggers(日志端点)
12.4 Observability(可观测性,Spring Boot 3.0+)
12.5 Metrics(指标)
12.5.1 内置指标
12.5.2 自定义指标
12.6 Traces(链路跟踪,Spring Boot 3.0+)
12.6.1 概述
12.6.2 链路跟踪环境搭建
12.6.3 链路跟踪/展示
12.7 Spring Boot Admin
12.7.1 概述
12.7.2 环境搭建
12.7.3 监控页面
12.7.4 监控报警
12.8 Prometheus+Grafana
12.8.1 概述
12.8.2 Prometheus指标暴露
12.8.3 Prometheus环境搭建
12.8.4 Grafana数据可视化
12.8.5 监控报警
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺