自动装配机制
本文深入解析SpringBoot自动装配机制,从@SpringBootApplication注解入手,剖析其组合注解原理。重点讲解@EnableAutoConfiguration如何通过@AutoConfigurationPackage和AutoConfigurationImportSelector实现包扫描与自动配置类加载,并结合SpringFactoriesLoader读取spring.factories完成自动化配置,揭示“约定优于配置”的底层实现。
异步消息组件MQ基础
本课程系统讲解RabbitMQ在微服务中的应用,涵盖同步与异步调用、工作队列、发布订阅模型及Fanout、Direct、Topic交换机特性,掌握惰性队列、优先级队列配置,学习SpringAMQP集成与消息转换器优化,并通过商城项目实战实现支付、下单等场景的异步解耦。
服务保护、分布式事务 学习目标
本课程深入讲解微服务保护与分布式事务控制,涵盖雪崩问题、熔断降级、限流、线程隔离等核心机制,基于Sentinel实现服务容错;结合Seata实现AT模式的分布式事务管理,掌握CAP原理与实际应用方案。
开发环境搭建
配置开发环境是高效学习的第一步。并配置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,登录测试系统。确保各服务正常运行,为后续开发打好基础。
无标题
被 @Configuration 标注的类视为配置类,等同于 XML 配置文件。通过 @Bean 注册 Bean,结合 AnnotationConfigApplicationContext 可启动 IOC 容器,加载并管理所有 Bean,包括配置类自身。
@Configuration
被@Configuration标注的类视为Spring配置类,等同于XML配置文件,配合@Bean注册Bean。通过AnnotationConfigApplicationContext加载配置类,可将组件及配置类本身注入IOC容器并获取所有Bean名称。
容器化部署引擎Docker
Docker是一种轻量级容器化技术,通过镜像打包应用及依赖,实现跨环境一致运行。它利用沙箱机制隔离容器,解决开发、测试、生产环境差异与依赖冲突问题。相比虚拟机,Docker启动更快、资源占用更少。结合Docker Compose可一键部署微服务集群,提升交付效率。
@Configuration
被@Configuration标注的类会被Spring容器识别为配置类,作用等同于XML配置文件。通过@Bean注解可注册Bean实例,配合AnnotationConfigApplicationContext可启动IOC容器并加载配置类及其中的Bean,实现组件的注入与管理。
开发环境搭建
配置开发环境是项目学习的第一步。建议电脑内存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部署,命令行启动。
@RefreshScope热更新原理
@RefreshScope实现配置热更新,核心在于@Scope("refresh")与动态代理。该注解使Bean纳入自定义缓存,配置变更时清空缓存,触发Spring重新创建Bean实例,结合Environment更新,实现@Value属性的动态刷新。本质是缓存失效+Bean重建机制。