开发环境搭建
配置开发环境是高效学习的第一步。并配置JDK11。安装Maven 3.8.6,配置本地仓库与阿里云镜像。安装Git并配置用户信息,在IDEA中集成。Fork黑马商城项目至个人Gitee仓库并克隆到本地。使用DataGrip创建hmall数据库,导入SQL脚本,修改application-dev.yaml中的数据库配置。前端通过nginx运行,进入hmall-nginx目录,用命令行启动nginx(start nginx.exe)。访问http://localhost:18080,登录测试系统。确保各服务正常运行,为后续开发打好基础。
配置数据同步环境
配置Canal+RabbitMQ实现MySQL数据同步,通过开启Binlog日志、创建专用用户并授权,部署Canal监听指定表变更,将增量数据实时发送至RabbitMQ指定队列,确保hm-item库中item_sync表的数据变更可被下游服务消费。
容器化部署引擎Docker
Docker是一种轻量级容器化技术,通过镜像打包应用及依赖,实现跨环境一致运行。它利用沙箱机制隔离容器,解决开发、测试、生产环境差异与依赖冲突问题。相比虚拟机,Docker启动更快、资源占用更少。结合Docker Compose可一键部署微服务集群,提升交付效率。
开发环境搭建
配置开发环境是项目学习的第一步。建议电脑内存16G以上,推荐32G,可搭配便携显示器提升效率。下载并安装虚拟机(CentOS 7,IP:192.168.101.68)、IDEA、Maven、Git等工具,导入课程资料中的虚拟机文件,配置网络与SSH连接。使用FinalShell远程操作,启动Docker、MySQL等服务。IDEA中设置编码、自动导包、Java 11编译级别,并配置Maven本地仓库。通过Gitee Fork黑马商城项目,克隆到本地,创建hmall数据库并导入SQL。修改配置文件中的数据库地址与密码,启动后端服务。前端使用nginx部署,命令行启动。
分页
本文介绍了五种分页实现方式:MyBatis自带RowBounds内存分页、PageHelper插件分页、SQL原生分页、数组分页及拦截器分页。对比了逻辑分页与物理分页的优劣,指出大数据量下应优先选用物理分页,避免内存溢出,提升性能。
OAuth2.0实战案例
本项目基于Spring Boot与Spring Cloud构建,实现OAuth2四种授权模式。通过父工程统一版本管理,分别搭建授权服务器(9001端口)与资源服务器(9002端口),集成Spring Security、MyBatis及MySQL,完成认证授权流程。支持授权码、简化、密码及客户端四种模式,实现安全的分布式权限控制。
了解SQL注入
SQL注入是利用Web应用输入验证缺陷,将恶意SQL代码注入数据库查询的攻击方式。可导致身份绕过、数据泄露、篡改甚至系统命令执行。常见于登录框等用户输入场景,攻击者通过构造特殊语句(如`admin'--`)改变SQL逻辑,绕过认证。防御需结合输入验证、参数化查询与IPS防护,避免错误信息暴露,确保数据安全。
微服务概述
本文对比单体与微服务架构,解析微服务定义、特征及优缺点,涵盖技术选型、部署方案与学习路径,系统介绍微服务实现方式,助力构建高内聚、低耦合的分布式应用体系。(238字)
MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,优化等值、范围、排序及全文检索,显著提升大数据量下的查询性能。(238字)
SpringCloud工程部署启动
本课程介绍SpringCloud微服务工程搭建与部署,涵盖完整工程导入与从零搭建两种方案,完成user-service和order-service模块开发,实现数据库配置、业务代码编写及服务间远程调用,通过RestTemplate解决跨服务数据获取问题,帮助理解微服务拆分与协作机制。