容器已成为打包具有所有软件和操作系统依赖项的应用程序,然后将其传送到不同环境的首选方式。
本文着眼于容器化 Spring Boot 应用程序的不同方法:
- 使用 Docker 文件构建 Docker 镜像,
- 使用 Cloud-Native Buildpack 从源代码构建 OCI 映像,
- 通过使用分层工具将 JAR 的各个部分拆分为不同的层,在运行时优化映像。
示例代码
本文附有 GitHub 上的工作代码示例。
More »Java, Spring Boot, Microservice, Cloud, Architecture and DevOps Tutorials
您可以使用本指南来简单实用地了解 Spring 使用 @Transactional 注释进行事务管理的工作原理。
唯一的先决条件?您需要对 ACID 有一个粗略的了解,即什么是数据库事务以及为什么使用它们。此外,这里不讨论分布式事务或反应式事务,但就 Spring 而言,一般原则仍然适用。
More »Spring Security 是一个功能强大且广泛使用的安全框架,为企业级应用程序提供了全面的安全性。Spring Security 最初是 Acegi Security 项目的一部分,于 2004 年发布,现在已经成为 Spring 生态系统的核心组件。 Spring Security 的发展过程可以分为三个阶段:
More »在 MySQL 中,设计树形结构的区域表有多种方式。以下是一些常见的方案:
父子关系(Parent-Child Relationship)模型是一种在 MySQL 中设计树形结构的方式。在该模型中,每个区域记录包含一个指向其父级区域的引用。通过这种父子关系,可以建立区域之间的层级结构。
More »在本文中,我们将创建一个授权服务器,为任何客户端生成 access_token。这称为 OAuth2 的 client_credentials
流程。它主要用于服务间通信。
我们将使用 spring boot oauth2 授权服务器依赖项来创建身份验证服务器。我们还将创建一个资源服务器和客户端来对其进行端到端测试。
More »跨源资源共享 (CORS) 是一种基于 HTTP 标头的机制,允许服务器显式将某些源列入白名单,并帮助绕过同源策略。
这是必需的,因为浏览器默认应用同源策略以确保安全。通过在 Web 应用程序中实施 CORS,网页可以请求额外的资源并从其他域加载到浏览器中。
More »NullPointerExceptions
(通常缩写为“NPE”)对于每个 Java 程序员来说都是一场噩梦。
我们可以在互联网上找到大量解释如何编写空安全代码的文章。空安全确保我们在代码中添加了适当的检查,以保证对象引用不能为空,或者毕竟在对象为空时采取可能的安全措施。
由于 NullPointerException
是一个运行时异常,因此在代码编译过程中很难找出这种情况。 Java 的类型系统没有办法快速消除危险的空对象引用。
在分布式、快节奏的环境中,开发团队通常希望了解他们部署应用程序的时间、部署的应用程序版本、部署的 Git 提交等等。
Spring Boot Actuator 帮助我们监控和管理应用程序。它公开了提供应用程序运行状况、指标和其他相关信息的各种端点。
在本文中,我们将了解如何使用 Spring Boot Actuator 和 Maven/Gradle 构建插件将此类信息添加到我们的项目中。
More »