1. 概述
在本教程中,我们将讨论如何在 Spring 中使用事件。
事件是框架中最容易被忽视的功能之一,但也是最有用的功能之一。与 Spring 中的许多其他功能一样,事件发布是 ApplicationContext
提供的功能之一。
Java, Spring Boot, Microservice, Cloud, Architecture and DevOps Tutorials
在本教程中,我们将讨论如何在 Spring 中使用事件。
事件是框架中最容易被忽视的功能之一,但也是最有用的功能之一。与 Spring 中的许多其他功能一样,事件发布是 ApplicationContext
提供的功能之一。
在本教程中,我们将重点关注使用 @Async
传播 Spring Security 主体
默认情况下,Spring Security 身份验证绑定到 ThreadLocal
- 因此,当执行流在带有 @Async
的新线程中运行时,它不会是经过身份验证的上下文。
在本教程中,我们将探讨 Spring 中的异步执行支持和 @Async
注解。
简单地说,用 @Async
注解 bean 的方法将使其在单独的线程中执行。换句话说,调用者不会等待被调用方法的完成。
成为一名合格的架构师需要不断学习和积累经验。以下是一些步骤和建议,可以帮助你成为一名合格的架构师:
学习基础知识:建立坚实的计算机科学和软件工程基础,包括数据结构、算法、操作系统、数据库等。深入学习编程语言和开发技术,了解不同技术栈的优缺点。
实践项目开发:通过参与实际的软件开发项目,积累项目管理和开发经验。亲身经历软件开发的各个阶段,从需求分析到设计、开发、测试和部署,深入了解软件开发的流程和挑战。
学习系统设计和架构:深入学习系统设计和架构的相关知识,包括架构模式、设计原则。阅读相关的书籍、文章和技术博客,参与架构设计讨论和社区活动。
以下是关于架构模式、设计原则和一些常见架构的简要介绍:
实践架构设计:在实际项目中担任架构师的角色,负责系统的整体设计和架构决策。通过实践中的挑战和经验,不断提升自己的架构设计能力。
More »软件开发流程和常用开发方法,如敏捷开发和 DevOps,对于架构师来说非常重要。下面我将简要介绍这些概念:
软件开发流程:
软件开发流程是指在开发软件时,按照一定的步骤和阶段进行工作的过程。常见的软件开发流程包括瀑布模型、迭代模型和增量模型等。这些流程以不同的方式组织和管理开发过程,包括需求分析、设计、编码、测试和部署等阶段。
敏捷开发:
敏捷开发是一种迭代和增量的软件开发方法,强调团队协作、快速响应变化和持续交付。敏捷开发强调通过迭代周期(如 Scrum 中的 Sprint)来开发软件,每个迭代都会产生可部署的软件功能。常见的敏捷方法包括 Scrum、XP(极限编程)和 Kanban 等。
More »继续上一篇关于实现 Spring Security 的两种不同方法的文章,在本文中,我们将学习第三种方法“如何使用 UserDetailsService 在 Spring Boot 中实现 Security?”。经过上一篇文章后,我希望我们都非常熟悉安全性的基础知识,甚至是 Spring Boot 应用程序中的安全性基础知识。这次我们将创建一个用户注册表并将用户及其角色保存到数据库中。
More »作为有关 Spring Security 的系列文章的继续,在本文中我们将学习“如何在 Spring Boot 3 中使用 UserDetailsService 实现 Spring Boot 中的安全性?”。经过前面的文章,我希望我们都非常熟悉安全性的基础知识,甚至 Spring Boot 应用程序中的安全性基础知识。 Spring Boot 3 发布后,我们将在这里实现“使用 Spring Boot 3 的 Spring Security UserDetailsService”。
More »