Spring Boot 整合 QueryDSL 及常见用法
[QueryDSL](https://github.com/querydsl/querydsl) 是一个用于构建类型安全查询的开源 Java ORM 框架。它提供了一种 Fluent 风格的 API 来构建和执行数据库查询,并提供了编译时类型检查,以避免常见的查询错误。QueryDSL 支持多种数据库,包括关系型数据库和 NoSQL 数据库,可以与多个持久化框架(如 **JPA...
[QueryDSL](https://github.com/querydsl/querydsl) 是一个用于构建类型安全查询的开源 Java ORM 框架。它提供了一种 Fluent 风格的 API 来构建和执行数据库查询,并提供了编译时类型检查,以避免常见的查询错误。QueryDSL 支持多种数据库,包括关系型数据库和 NoSQL 数据库,可以与多个持久化框架(如 **JPA...
1、概览 {#1概览} ----------- 本文将带你了解如何设置 Keycloak 服务器,以及如何使用 Spring Security OAuth2.0 将 [Spring Boot](/spring-boot/) 应用连接到 Keycloak 服务器。 2、Keycloak 是什么? {#2keycloak-是什么} -----------------------...
1、Spring 事件机制 {#1spring-事件机制} ----------------------------- 有的人可能会觉得 Spring 中的事件机制很神奇,一个地方发消息,另一个地方收消息,跟 MQ 一样。其实,Spring 中的事件本质上就是观察者模式的应用。事件有其便利的一面,但是用多了也容易导致混乱,所以在实际项目中,我们还是要谨慎选择是否使用 Spri...
1、概览 {#1概览} ----------- 当代应用通常需要连接到各种外部服务,如 **PostgreSQL** 、**Apache Kafka** 、**Cassandra** 、**Redis** 和其他外部 API。 本文将带你了解 [Spring](/spring/) 如何通过引入动态属性([@DynamicPropertySource](https://doc...
1、概览 {#1概览} ----------- 本文将带你了解 Spring 中 `@ConditionalOnProperty` 注解的作用和用法。 2、@ConditionalOnProperty 的作用 {#2conditionalonproperty-的作用} -----------------------------------------------------...
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,),每个服务都必须在注册中心中注册。 一个缺点...