文章列表

共有 432 篇文章

Spring Boot 中为什么不要将 DTO 与 Entity 混合使用

刚开始学习 Spring Boot 的时候,我对 DTOs(数据传输对象)和 Entities(实体类)没有太深入的思考。通常的做法就是创建一个类,然后到处使用——数据库操作、API 接口、业务服务等等。看起来一切都很顺利……直到问题出现。 在这篇文章中,我想分享一下关于 DTOs 和 Entities 的一些经验教训。我会解释它们各自的作用,为什么需要将它们分离,以及忽略这一点会带来哪些实际问题...

Spring Boot + Multipart 文件上传:为什么你的应用在 10MB 后会失败

说实话,文件上传问题是后端开发中最令人头疼的 bug 之一。我至今还记得第一次遇到 Spring Boot 应用拒绝上传大于 10MB 文件的情况。小文件上传一切正常,但当我尝试上传更大的文件时——砰!各种错误接踵而至。如果你也遇到过这种情况,相信我,你绝对不是一个人在战斗。 接下来我会详细解释问题的原因、解决方案,以及如何让你的 Spring Boot 应用顺利处理大文件上传。...

Spring @Transactional 详解:何时使用、为什么使用、如何使用

本文是关于 Spring Framework 中 @Transactional 注解的完整教程,面向有一定基础的开发者,将详细介绍注解功能、使用场景、核心特性、优缺点,并配有清晰的图表说明。 ✅ @Transactional 是什么? @Transactional 是 Spring 提供的事务注解,用于声明式事务管理。它可以确保被标记的方法(或代码块)运行在数据库事务环境中。 🛠️...

别再花冤枉钱!BilldDesk 开源方案替代商业远程桌面

在当今数字化办公与远程协作愈发普及的时代,远程桌面控制软件成为了众多企业和个人不可或缺的工具。无论是企业的技术支持人员需要远程协助客户解决设备问题,还是员工需要在家中远程访问办公室的电脑完成工作任务,亦或是个人想要随时随地控制自己的另一台设备,远程桌面软件都能提供便捷的解决方案。 在这个领域,ToDesk、向日葵等商业远程桌面软件广为人知。它们凭借丰富的功能和稳定的性能,占据了较大的市场份额。然而...

Spring Boot 4.0.0 预览版新特性详解:深入解读 Spring Framework 7.0.0

你是否注意到创建新 Spring Boot 项目时出现的最新选项?Spring Boot 4.0.0 预览版现已发布,基于最新的 Spring Framework 7.0.0 🌱。这个版本引入了众多激动人心的新特性,不仅提升了开发效率,改善了空值安全性,还简化了 Web 应用程序的开发流程。本文将深入探讨这些重要变化,并提供完整的代码示例和单元测试,帮助你快速上手这个预览版本。让我们一起来探索吧...

告别 @MockBean!在 Spring Boot 3.2+ 中使用 @MockitoBean 进行单元测试

多年来,@MockBean 一直被广泛用于 Spring Boot 单元测试中来模拟依赖项。 然而,在 Spring Boot 3.2 中,@MockBean 由于性能和可维护性方面的问题已被标记为废弃。 🔴 @MockBean 存在的问题 ✔ 创建不必要的 Spring 上下文代理 → 拖慢测试执行速度 ✔ 全局模拟 Bean → 可能在多个测试中产生副作用 ✔ 未针对 Spring...

如何在Spring Boot中使用注解动态切换实现

还在用冗长的if-else或switch语句管理多个服务实现? 相信不少Spring Boot开发者都遇到过这样的场景:需要根据不同条件动态选择不同的服务实现。 如果告诉你可以完全摆脱条件判断,让Spring自动选择合适的实现——只需要一个注解,你是否感兴趣? 本文将详细介绍这种优雅的实现方式。 💡 实际开发中的痛点 假设你在开发一个支付系统,需要支持多种支付方式:...

感谢AI,再也不用自己给 Spring Boot 写单元测试了

设想这样一个未来:编写单元测试不再是开发者的负担,AI 能理解你的代码,自动生成全面的测试用例,并在问题演变为 bug 之前就将其发现。这个未来并非遥不可及,它已然成为现实。 !https://miro.medium.com/v2/resize:fit:1200/15tKhwnmZxbLcrUa3bYtlw.jpeg 在 Spring Boot 开发中,JUnit...

Spring Boot + 虚拟线程实现的二维码生成器

随着 Java 21 的发布,虚拟线程(Virtual Threads)成为了正式特性,彻底改变了 Java 的并发编程方式。它们为传统线程提供了更轻量、更易扩展的替代方案,让开发者能够编写出更加简洁高效的并发代码。 虚拟线程 虚拟线程为异步 Java 开发带来了革命性的变化。它们让 JVM 拥有了类似 Go 的并发能力,使高吞吐量应用的代码结构更加简洁、易于维护。如果你正在开发 Web...

Java开发者玩转机器学习的利器: Tribuo

1. 概述 机器学习(ML)和人工智能(AI)正在推动软件开发的变革,使系统能够通过数据学习并做出智能预测。 作为一名Java开发者,如果要训练自己的预测模型,是不是第一想到的还是把Python拿起来?其实不一定非要拿起Python,在Java领域也有自己的生产级机器学习工具,它支持分类、回归、聚类等常见任务,还能无缝对接 TensorFlow 等框架,用 Java 就能直接训模型、做预测!...

2 页, 共 44 页, 总计 432 篇文章