在 Spring Boot 中嵌入 Keycloak 服务器
1、概览 {#1概览} ----------- Keycloak 是由 Red Hat 管理和在 Java 中由 JBoss 开发的开源身份和访问管理解决方案。 本文将带你了解如何在 在 Spring Boot 中嵌入 Keycloak 服务器,这样就能轻松启动预配置的 Keycloak 服务器。 Keycloak 也可以作为 [独立服务器](/spring-boot-k...
1、概览 {#1概览} ----------- Keycloak 是由 Red Hat 管理和在 Java 中由 JBoss 开发的开源身份和访问管理解决方案。 本文将带你了解如何在 在 Spring Boot 中嵌入 Keycloak 服务器,这样就能轻松启动预配置的 Keycloak 服务器。 Keycloak 也可以作为 [独立服务器](/spring-boot-k...
背景 {#背景} -------- 众所周之,[Spring](/spring/) / [Spring Boot](/spring-boot/) 应用的配置注入方式非常多: * System Properties / System Env * application.properties / application.yaml * Spring Profile * Sprin...
1、概览 {#1概览} ----------- [Thymeleaf](http://www.thymeleaf.org/) 是一个 Java 模板引擎,用于处理和创建 HTML、XML、JavaScript、CSS 和文本。 本文将带你了解如何在 Spring 和 Spring Boot 应用中整合、使用 Thymeleaf。 该库具有极高的可扩展性,其天然的模板功能可...
1、概览 {#1概览} ----------- 本文将带你了解什么是跨站请求伪造(CSRF)攻击?以及如何使用 [Spring Security](/spring-security/) 来防范这些攻击。 2、两种简单的 CSRF 攻击行为 {#2两种简单的-csrf-攻击行为} ------------------------------------- CSRF 攻击有多...
1、概览 {#1概览} ----------- 本文将带你了解如何通过 **Spring Cloud Netflix Eureka** 来实现客户端服务发现。 客户端服务发现允许服务相互查找和通信,而无需硬编码主机名和端口。在这种架构中,唯一的 "固定点" 是服务注册中心(service registry,),每个服务都必须在注册中心中注册。 一个缺点...
1、概览 {#1概览} ----------- 本文将带你了解 IoC(控制反转)和 DI(依赖注入)的概念,以及如何在 [Spring](/spring/) 中实现这些概念。 2、控制反转(IoC)是什么? {#2控制反转ioc是什么} ------------------------------ 控制反转(Inversion of Control)是软件工程中的一项原...
1、概览 {#1概览} ----------- [Spring Retry](https://github.com/spring-projects/spring-retry) 提供了自动重新调用失败操作的能力。这在错误可能是短暂的(例如瞬时的网络故障)情况下非常有帮助。 本文将带你了解使用 [Spring Retry](https://github.com/spring-p...
1、概览 {#1概览} ----------- [Spring Boot](/spring-boot/) 是一个基于 Spring 的框架,旨在简化 Spring 应用的配置和开发过程,通过自动配置和约定大于配置的原则,使开发者能够快速搭建独立、生产级别的应用程序。 本文将带你了解 Spring Boot 的核心内容,从基本的项目创建开始,内容包括了:应用配置、Thymel...
1、概览 {#1概览} ----------- 本文将带你了解如何使用 `WebClient` 和 `WebTestClient`,前者是一个 Spring 5 中引入的响应式 HTTP 客户端,而后者是一种用于测试的 `WebClient`。 2、WebClient 是啥? {#2webclient-是啥} --------------------------------...
1、简介 {#1简介} ----------- 本文将通过一些实际的案例,带你了解 Spring Integration 的核心概念。 Spring Integration 提供了许多功能强大的组件,可大大增强企业架构内系统和流程的互联性。 2、设置 {#2设置} ----------- ```xml <dependency> <groupId...