Java

博友圈 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 还对自定义扩展以及表单提供了很好的支持。

阅读更多

如何搭建 Spring Cloud 统一配置服务?

Spring Cloud 配置服务可以用于统一管理微服务的配置。相比于在各个微服务分别编写独立的配置文件,统一的配置服务可以大大提升维护配置文件的效率。 本文将依次搭建一个 Registry Service、Config Service、App Service 来演示 Config Service 的作用。其中 Registry Service 是一个 Eureka Server,即服务注册中心;Config Service 是本文的主角,即使用了 Spring Cloud Config Server 的统一配置中心;App Service 是统一配置的使用者,即普通的微服务。

阅读更多

Java 13 主要引入了哪些新特性?

本文重点回顾 Java 13 引入的那些主要特性。 (Java 13 主要新特性脑图) 1 文本块(预览) Java 13 引入了文本块(Text Blocks)预览功能,以简化多行字符串的表示。文本块用三重引号 """ 定义,支持格式化和保留换行符,使得处理多行字符串更直观。它还自动去除了前导和尾随空白,使字符串更干净,避免了传统转义字符的使用。这个预览特性为开发者提供了更好的代码可读性和维护性。

阅读更多

Java 11 主要引入了哪些新特性?

本文重点回顾 Java 11 引入的那些主要特性。 (Java 11 主要新特性脑图) 1 全新的 HTTP 客户端 API Java 11 引入了全新的 HTTP 客户端 API(主要有三个类 HttpClient、HttpRequest 和 HttpResponse),目的是替换现有的 HttpURLConnection API。

阅读更多