Java

在 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 版本的前端、后端技术架构,以及部署架构。

阅读更多

Spring Boot 集成 Thymeleaf 搭建 Web 应用

Thymeleaf 是一个流行的 Java 模板引擎,具有处理 HTML、XML、JavaScript、CSS 和纯文本的能力。Thymeleaf 可以和 Spring Boot 进行无缝集成,且可以非常容易地对 Java Model 类及其字段进行访问,从而对模板内容进行动态渲染。并且,Thymeleaf 还提供了一组简单有力的表达式来支持循环、条件判断、静态工具类及 Spring Bean 访问等能力。此外,Thymeleaf 还对自定义扩展以及表单提供了很好的支持。

阅读更多