Spring

使用 Spring Data JPA 时如何捕捉实体的增删改操作?

在 Spring Boot 工程中,若选用的持久化层框架是 JPA,那么要想捕捉所有实体的增删改操作,该怎么实现呢?

下面给一个具体点的需求,然后我们来探讨如何实现:「假设我们要实现一个实体(表)操作监控模块,即捕获 Spring Boot 应用程序中所有实体的变更(包括增、删、改)操作,然后将这些操作记录到一张表中。」

阅读更多

在 Spring Boot 中如何优雅的编写一个服务工厂?

在基于 Spring Boot 的业务开发中,我们有时会遇到这样的场景:即定义了一个通用接口,而该接口拥有多个实现类。在调用这些实现类时,我们通常需要编写一个工厂方法,该工厂方法可以根据指定的参数获取到对应的实现类。 那么,提供该工厂方法的类就是一个服务工厂,本文即是探讨如何优雅的编写这个服务工厂。

阅读更多

如何使用 Spring Data Neo4j 访问 Neo4j 数据库?

上文「Neo4j 初探」介绍了 Neo4j 的基本概念,并对 Neo4j 进行了初步使用。本文则关注如何使用 Spring Data Neo4j 访问 Neo4j 数据库?Spring Data Neo4j 是 Spring Data 项目的一部分,它简化了与 Neo4j 图形数据库的交互。Spring Data Neo4j 除了可以通过 Repository 的方式轻松实现常见的 CRUD 操作外,还支持事务管理、Cypher 查询和图数据建模等特性。

阅读更多

博友圈 v2 版本技术架构

博友圈 v1 版本(源码:boyouquan)是一个集前后端为一体的 Java 应用程序,其使用 Maven 管理,使用了 Spring Boot + Thymeleaf + MyBatis 技术,其中 Thymeleaf 负责页面渲染。

而本次改造后的 v2 版本(前端源码:boyouquan-ui,后端源码:boyouquan-api)则将博友圈单体项目进行了前后端分离。前端使用了 React 框架;后端依然使用 Spring Boot + MyBatis 框架,但去除了 Thymeleaf 渲染页面的部分,使得后端变为了一个纯净的 REST API 提供者。

本文即重点介绍一下博友圈 v2 版本的前端、后端技术架构,以及部署架构。

阅读更多