Ohhnews

分类导航

Baeldung

Spring应用启动跟踪详解

本文介绍了如何在Spring应用中跟踪和分析启动过程。首先回顾了Spring应用上下文的概念及其启动跟踪的重要性。然后详细讲解了Spring提供的三种ApplicationStartup接口实现:DefaultApplicationStartup(无操作)、BufferingApplicationStartup(内存缓冲,支持通过Actuator端点访问记录的事件)和FlightRecorderApplicationStartup(与Java飞行记录器集成,可在Java Mission Control中查看)。此外,还展示了如何通过添加自定义启动步骤来扩展跟踪功能,以及如何实现自定义的ApplicationStartup接口。文章提供了完整的代码示例和测试方法,帮助开发者更好地理解和优化Spring应用启动性能。
#spring#应用启动#applicationstartup#启动跟踪#性能优化
$ more
Baeldung

Apache Causeway 简介

Apache Causeway 框架介绍 本文介绍了 Apache Causeway,一个基于 Spring Boot 的领域驱动应用开发框架。与传统 Spring MVC 不同,Causeway 通过描述领域对象的状态、行为和业务规则自动生成运行时元模型,并由 Wicket 查看器和 RESTful Objects 查看器提供 Web UI 和超媒体 API。文章使用 Java 21 和 Maven 3.6.0 构建了一个资产管理应用,包括实体 Asset、生命周期动作(assignTo、returnToInventory、retire)以及通过支持方法控制的业务规则。还展示了领域服务 Assets 的创建、RepositoryService 持久化、Spring Data 查询及菜单布局配置。运行后可通过 Wicket UI 进行交互,并通过 curl 调用 RESTful API。Causeway 尤其适合内部管理软件,可减少表现层重复代码,快速交付功能丰富的领域驱动应用。
#apache causeway#领域驱动开发#spring boot#资产管理#框架
$ more
Baeldung

Java周刊第656期

Java周刊第656期 本期涵盖多项Java生态重要更新:Java纪录片回顾了平台发展历程;Netflix分享了内部LLM服务部署经验;JVM安全审计管道;Java在ARM/RISC-V架构上的测试;Spring PetClinic持久化改进;HotSpot性能优化技巧;Kubernetes上的垂直扩缩方案;JDK 27默认G1收集器;值类候选;更频繁的安全更新。此外Quarkus 3.38.0、Vert.x 4.5.31、Elasticsearch 9.4.4等多个项目发布新版。本周精选SlashData新调查。
#java#spring#llm#quarkus#容器化
$ more
Baeldung

Java周刊第656期

本期Java周刊聚焦多项重要内容:Java纪录片回顾语言发展历程;Netflix自建LLM服务架构解析;JVM安全审计管道、JDK 27默认G1回收器、值类候选识别等前沿话题;同时涵盖Quarkus、Vert.x、Micronaut、Helidon等框架更新,以及Elasticsearch、Zuul等工具新版本。此外还有OWASP Top 10 2025解读、Java on ARM/RISC-V实践、编译器编写教程等实用文章。本周精选为SlashData开发者调查(附奖品)。
#java#spring#jvm#llm#开源
$ more
foojay

掌控像素:按你的时间表实现原生保真度

Codename One通过静态链接轻量级UI组件到原生应用中,使OS更新不会改变应用界面。文章介绍了新引入的原生参考保真度测试套件,包含iOS 26和Android Material 3的参考应用,通过像素对比确保UI一致性。框架实现了iOS 26的Liquid Glass毛玻璃效果和Material 3浮动按钮等控件的精确渲染,包括触摸驱动的选项卡透镜动画。此外,还提及CSS增强、文本对齐修复、账户安全更新等。这一工作的核心让开发者掌控像素,按自己的计划采用新设计,无需被OS更新左右。
#codename one#原生保真度#像素测试#移动主题#跨平台开发
$ more
Jetbrains Blog

IDE插件生成器——新的开始

统一插件创建入口 随着 IntelliJ IDEA 2026.1 的发布,JetBrains 推出了全新的基于 Web API 的 IDE 插件生成器,取代了旧有的 IDE 内生成器和 IntelliJ Platform Plugin Template。新生成器将两种方式的优点整合到单一入口,降低了维护成本,并提供了更一致、更顺畅的插件创建体验。 旧方案的问题 旧方案存在两套并行的创建方式:IDE 插件生成器(依赖 Plugin DevKit 插件)和 GitHub 模板。两者功能不同(如 IDE 生成器可额外选择依赖,模板则提供 GitHub 集成)、更新不同步,且造成开发者困惑。 新生成器的优势 一致性:模板统一管理,保证生成的插件风格一致。 模板实时更新:无需升级 Plugin DevKit 即可获取最新模板。 统一工作流:可从 IDE(2026.1+)或网站(plugins.jetbrains.com/generator)访问。 功能融合:支持依赖选择和 GitHub 集成(含工作流、issue 模板、Dependabot 配置)。 未来计划 JetBrains 计划逐步添加 UI 集成测试、Qodana 配置等新特性。
#jetbrains#intellij idea#插件生成器#plugin devkit#开发工具
$ more
InfoQ Java

自构建代理:LangChain4j实验

该实验使用LLM代码助手基于LangChain4j文档自主设计了一个多代理编码系统,能编写、测试和调试代码。比较了主管模式和工作流模式:工作流模式因消除LLM协调开销而快三倍。使用gpt-5-mini成功修复所有bug并通过测试,而旧模型陷入工具调用循环。MonitoredAgent接口可用于监控。结论:工作流模式适合速度和效率,主管模式适合灵活性和自主性。
#langchain4j#多代理系统#代码修复#工作流模式#主管模式
$ more
Jetbrains Blog

MPS 2025.3.1、2025.2.3和2025.1.3错误修复版本发布

JetBrains 发布了 MPS 多个版本的错误修复更新,包括 2025.3.1、2025.2.3 和 2025.1.3。重要修复: MPS-38409:新的只读检查器样式现在正确应用于检查器中的所有编辑器单元格。 MPS-37407:macOS 上的帮助菜单显示高度和间距问题已修复。
#mps#错误修复#版本更新#jetbrains
$ more
DZone Java

使用Quarkus Agent MCP构建实时感知的AI编码助手

标准AI代码生成工具擅长编写独立代码片段,但在理解运行中应用状态时存在局限。Model Context Protocol (MCP)通过标准化AI与本地工具的交互填补了这一空白。Quarkus提供的独立quarkus-agent-mcp服务器作为始终可用的进程运行,管理quarkus dev会话作为子进程,即使应用崩溃也能存活,允许AI检查编译器输出、诊断错误并执行修复。核心能力包括项目脚手架、生命周期控制、Dev MCP代理和语义文档搜索。通过JBang可快速启动。该服务器还支持“技能先于代码”范式,允许代理读取自定义技能以遵循团队架构标准。实际场景中,它能自动处理数据库迁移失败等崩溃恢复流程。安全性上,服务器完全在本地运行,不发送代码到第三方。该集成将本地开发体验提升到超越基本代码补全的高度。
#quarkus agent mcp#ai编码助手#模型上下文协议#实时调试#自动故障恢复
$ more
Baeldung

从Java代码生成图表

概述 本文介绍了从Java代码生成UML和架构图的三种方法:静态代码分析(使用IntelliJ、PlantUML解析器和Java2PlantUML等工具)、框架级架构源(利用Spring Modulith和Spring Cloud Stream等框架的显式边界)以及基于AI代理的方法(在CI流水线或pre-commit钩子中调用Claude Haiku从代码差异生成图与摘要)。这些方法旨在帮助代码审查人员更快速地理解变更的结构和影响范围。
#uml图#代码分析#架构图#代码审查#静态分析
$ more