Spring Boot

搜索结果

在博客中搜索相关文章

79 篇文章 7

使用Spring Boot整合Mybatis-Plus实现数据库的增删查改

文章详细演示了在 Spring Boot 项目中使用 Mybatis‑Plus 完成增删改查的全过程。首先在 MySQL 中创建 `tbl_employee` 表并插入示例数据;随后初始化 Spring Boot 项目并在 `pom.xml` 中加入 Mybatis‑Plus、MySQL、Druid 等依赖。将数据库连接配置写入 `application.yml`,使用 Lombok 编写实体类并通过 `@TableName`、`@TableId`、`@Version` 注解映射表结构。定义继承 `BaseMapper` 的 Mapper 接口并在启动类上使用 `@MapperScan` 指定扫描路径。最后提供 JUnit 测试代码,分别演示 `selectList`、`insert`、`update`、`delete` 等 CRUD 操作的使用方法,验证 Mybatis‑Plus 与 Spring Boot 的无缝集成。

SpringBoot实现AI智能评论审核与自动回复

本文介绍基于 Spring Boot 的 AI 评论审核与自动回复系统实现方案。系统采用前端展示、Controller、Service、AI 服务四层架构,核心包括本地敏感词预筛选+多模态 AI 深度审核的双层机制、基于状态机的审核流转、支持表情图片的多模态检测以及结合文章上下文的智能回复生成。为提升并发处理能力,使用 Spring @Async 与自定义线程池实现异步任务调度,实现高效、实时的评论安全审查与个性化回复。

双层缓存+响应式设计:博客每日一句功能完美落地教程

本文详细阐述了在博客底部实现“每日一句”功能的完整方案。后端采用 Spring Boot + RestTemplate,提供 `/api/daily-quote` 接口,使用 ConcurrentHashMap 按日期缓存当天句子,防止频繁调用有道词典 API,并在异常时返回固定备用句子。前端使用原生 JavaScript 与 CSS3,首次请求后将数据写入 localStorage,实现客户端一天一次的二层缓存;通过 `white-space: nowrap`、`text-overflow: ellipsis` 与 `.expanded` 类实现长句折叠/展开交互。布局采用弹性盒子和媒体查询,在桌面、平板、手机三种断点下自动适配宽度和字号。整体实现了每日更新、降级备份、性能优化和响应式展示,代码可直接复制使用。

面试现场【Spring篇】

本文系统梳理了 Spring 面试常见知识点:列举了 Spring 使用的工厂、代理、单例、模板方法、观察者、适配器等设计模式;概述了 Core、Context、Web、MVC、DAO、ORM、AOP 等核心模块;阐释 IOC/DI 的本质、BeanFactory 与 ApplicationContext、FactoryBean 的区别以及 @Repository、@Service、@Component、@Controller 的分层意义;介绍 AOP 的概念、通知类型、动态/静态代理及 JDK 与 CGLIB 的实现差异,并比较 Spring AOP 与 AspectJ AOP;详细说明 Bean 的四阶段生命周期、三级缓存如何解决单例循环依赖以及为何需三级缓存;对比 @Autowired 与 @Resource 的注入策略;梳理 Spring 事务的五种隔离级别和七种传播行为;最后解析 Spring Boot 自动装配的 EnableAutoConfigurationImportSelector、spring.factories 与条件过滤机制。

JVM类加载机制

JVM在执行 main 方法时先通过类加载器把主类加载到方法区,加载过程依次为加载、验证、准备、解析、初始化。加载阶段在内存生成对应的 Class 对象;验证检查字节码合法性;准备为静态字段分配默认值;解析把符号引用转为直接引用;初始化执行静态代码块并赋予真实值。JVM 提供引导、扩展、应用和自定义四种加载器,启动时由 Launcher 创建 ExtClassLoader 与 AppClassLoader。类加载遵循双亲委派机制:先交给父加载器(最终到引导加载器)尝试加载,若失败再由当前加载器自行查找。示例代码展示了按需加载、静态块打印以及各加载器的加载路径,说明了类加载的延迟性和层次结构。

Spring Boot AOP架构落地与最佳实践

Spring Boot AOP通过切面把日志、性能监控、权限校验等横切关注点模块化,提升代码可维护性。文章先介绍 AOP 基础概念及 Spring Boot 的自动配置方式,随后给出日志、性能、授权等实战切面实现示例,并演示自定义注解、ThreadLocal、CGLIB 代理等技术细节。最佳实践包括按功能划分切面目录、使用 @Order 控制执行顺序、优化切点表达式、防止性能损耗以及统一异常处理和缓存切面。最后结合分布式链路追踪和异步执行,提供在生产环境中落地 AOP 的完整方案。

基于Spring Boot + MyBatis-Plus + Thymeleaf的评论管理系统深度解析

本文详细阐述了基于Spring Boot、MyBatis‑Plus和Thymeleaf的评论管理系统实现,包括前后端分离且后端保留模板渲染的架构设计、Spring Boot+MyBatis‑Plus分页查询与动态条件构造、批量操作与事务控制、Redis缓存刷新与懒/预加载策略,以及Bootstrap5+Flex实现的响应式表格/卡片视图切换和内容展开交互,提供完整代码示例和性能优化思路。

隐式扫描不到 Bean 的定义

Spring Boot 启动类使用 @SpringBootApplication 时,内部的 @ComponentScan 若未指定 basePackages,会默认扫描启动类所在的包。将 Controller 移到其他包后超出默认扫描范围,导致 Bean 找不到,应用失效。解决办法是显式配置扫描路径,如在启动类上添加 @ComponentScan("com.zou.controller"),或使用 @ComponentScans 指定多个包。需要注意显式指定后默认包不再被扫描,避免遗漏。

通意千应 - 你的专属AI助手

通意千应是面向企业的AI对话平台,采用Spring Boot+Vue前后端分离架构,集成ChatGPT、DeepSeek、Qwen等多模型,提供流式回复、Markdown渲染、代码高亮、深度思考、网络搜索等交互特性。系统具备JWT+Spring Security安全体系、MySQL+Redis存储、分享链接、会话管理、使用统计等功能;管理员可进行用户、会话、数据统计及权限控制。平台支持灵活模型切换、Token消耗统计,帮助企业快速构建专属AI助手。

@EnableWebMvc:Spring MVC定制的双刃剑

@EnableWebMvc是Spring MVC的核心开关,标志开发者接管所有MVC配置。它会覆盖Spring Boot的自动配置,导致静态资源、视图解析、消息转换、CORS等功能失效,常见表现为404、JSON 序列化错误或跨域请求被拦。解决方案是:在 Spring Boot 项目中尽量去掉 @EnableWebMvc,仅实现 WebMvcConfigurer;若必须使用,则必须手动配置资源处理、默认 Servlet、消息转换器、跨域映射等关键组件。文章还给出传统 Spring MVC 与文件上传的完整配置示例,并提供使用 @EnableWebMvc 的场景判断表、配置检查清单以及调试方式,帮助开发者在需要完全自定义时安全使用该注解。

Spring

Spring核心是IoC和AOP,IoC通过DI由容器实现,容器分BeanFactory(延迟、轻量)和ApplicationContext(完整、预实例化)。Bean是POJO,由容器管理,可用@Component、@Service等注解声明,@Autowired/@Resource实现注入,@Scope定义单例、prototype、request、session等作用域,@PostConstruct/@PreDestroy控制生命周期。循环依赖通过单例的三级缓存(singletonFactories、earlySingletonObjects、singletonObjects)解决。@Autowired按类型注入,@Resource默认按名称注入。

Spring Boot博客系统集成AI智能摘要功能实战

本文示例了在 Spring Boot 博客系统中集成 AI 智能摘要的完整实现。通过在后端定义 AiSummaryService 接口并实现调用 OpenAI 兼容的 AI 接口(如智谱 AI、Moonshot、GPT‑4 等),在 controller 中提供 /api/ai-summary 接口,返回去除 HTML 的纯文本摘要。前端使用 Thymeleaf 页面与 JavaScript,调用该 API 后用打字机动画逐字展示摘要,并在 AI 服务不可用时回退到本地关键词或首段摘要。配置文件中可灵活设置 API 地址、模型、密钥、max‑tokens 等参数,实现前后端分离、可配置的 AI 摘要功能。