Spring Boot 中的 @ConfigurationProperties 注解
1、简介 {#1简介} ----------- Spring Boot 有许多有用的功能,包括外部化配置和轻松访问 Properties 文件中定义的属性。[上一篇文章](/properties-with-spring/) 介绍了实现这一点的各种方法。 本文将带你了解 Spring Boot 中的 `@ConfigurationProperties` 注解。 2、项目设置...
1、简介 {#1简介} ----------- Spring Boot 有许多有用的功能,包括外部化配置和轻松访问 Properties 文件中定义的属性。[上一篇文章](/properties-with-spring/) 介绍了实现这一点的各种方法。 本文将带你了解 Spring Boot 中的 `@ConfigurationProperties` 注解。 2、项目设置...
1、概览 {#1概览} ----------- 本文将带你了解 Spring 中的 `@Value` 注解。它用于向 Spring 管理的 Bean 中的字段注入值,可在字段或构造函数/方法上注解。 2、应用设置 {#2应用设置} --------------- 创建一个简单的 Spring 应用来介绍该注解的不同用法。 首先,在 Properties 文件中定义想用 ...
1、概览 {#1概览} ----------- [Spring Cloud Config](/spring-cloud-config/) 是 Spring 用于在分布式环境下提供集中式配置的解决方案。 本文将带你了解如何设置一个基于 Git 的配置服务器(包括加密的属性值),以及如何在 REST 应用中使用它。 2、依赖 {#2依赖} ----------- 首先是配置...
1、概览 {#1概览} ----------- 从 [Spring](/spring/) 2.5 开始,框架引入了注解驱动的依赖注入功能。该功能的主要注解是 `@Autowired` 。它允许 Spring 解析并注入所依赖的 Bean 到 Bean 中。 本文将带你了解如何启用自动装配以及自动装配 Bean 的各种方法,以及如何使用 `@Qualifier` 注解来解决 ...
1、缓存抽象 {#1缓存抽象} --------------- 本文将带你了解如何使用 [Spring Cache](/spring/integration.html#cache) 来提高系统性能。 2、开始使用 {#2开始使用} --------------- Spring 提供的核心缓存抽象位于 [*spring-context*](https://mvnreposi...
1、概览 {#1概览} ----------- 本文将带你了解如何在 [Spring Security](/spring-security/) 中正确地实现 **角色(Role)** 和 **权限(Privilege)**。 2、用户、角色和权限 {#2用户角色和权限} ---------------------- 有如下 3 个实体: * `User`:代表用户 * ...
说起 Spring 状态机,大家很容易联想到这个状态机和设计模式中状态模式的区别是啥呢?没错,Spring 状态机就是状态模式的一种实现,在介绍 Spring 状态机之前,让我们先来看看设计模式中的状态模式。 1、状态模式 {#1状态模式} --------------- 状态模式的定义如下: **状态模式(State Pattern)** 是一种行为型设计模式,它允许对...
"讲一讲 Spring Bean 的生命周期",这算是一道非常经典的面试题了! 如果没有研究过 Spring 源码,单纯去背面试题,这个问题也是可以回答出来的,但是单纯的背缺乏理解,而且面试一紧张,就容易背岔了。 在前面的文章中,给大家分析了 Spring 中 Bean 的创建是在 `createBean` 方法中完成的。在该方法中,真正干活的实际上是 ...
1、概览 {#1概览} ----------- 本文将带你了解 [Spring](/spring/) 中的 **Profile** (配置文件),这是 Spring 的核心功能之一。可以把 Bean 配置在不同的 Profile,例如:*dev* 、*test* 、*prod*。然后,可以在不同的环境中激活指定的 Profile,以便只加载当前环境所需的 Bean。 2、在...
1、概览 {#1概览} ----------- SpEL 是 Spring Expression Language(Spring 表达式语言)的缩写,它是一种强大的工具,能显著增强与 Spring 的交互,并为配置、属性设置和查询操作提供额外的抽象。 本文将带你了解如何使用该工具使自定义查询更具动态性,通过 `@Query` 注解,可以使用 *JPQL* 或原生 *SQL*...