Spring系列之面向切面编程
面向切面编程(AOP)是 Spring 的另外一大核心,但 Spring 容器与 AOP 却不耦合,这意味着如果不需要 AOP,就不需要引入相关依赖。 Spring 中引入 AOP 主要用于两个方面: 提供声明式企业级服务,比如声明式事务管...
面向切面编程(AOP)是 Spring 的另外一大核心,但 Spring 容器与 AOP 却不耦合,这意味着如果不需要 AOP,就不需要引入相关依赖。 Spring 中引入 AOP 主要用于两个方面: 提供声明式企业级服务,比如声明式事务管...
在最开始学习 Java 的时候,最常用的方式就是写一个 main 方法,然后在这个方法中不断写代码,然后跑起来。通常这样也不会有问题,但是这难免有点不优雅,毕竟一个类只能有一个 main 方法。 如何优雅的写 Demo 特别是要系统学习一些...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
Spring 中所有的 Bean 都是通过容器来进行管理的。每个 POJO 都可以是一个 Spring Bean。容器会管理 Bean 的依赖关系,这种依赖关系有可能是 Bean 之间的,也有可能是 Bean 对配置数据的依赖。在使用 Sp...
Spring 如今毫无疑问是 Java 中最受欢迎的框架。Spring 已经成为事实上的 Java 企业级开发的标准。Spring 为什么有这么大的魅力,通过这篇文章来简单聊聊。 本文基于 Spring5 为什么需要 Spring 在 Ja...
没想到这大过年的居然碰上了这档子事,大家注意防护,平平安安度过这段时期。 还是习惯把除夕当做一年最后一天。今年对我来说是很重要的一年,完成了很多重要的事情,还算是比较顺利。但让我感到遗憾的是,今年无论是在公交还是地铁上,已经没有小朋友叫我哥...
Redis 的过期时间设置是一个很常用的操作,毕竟 redis 不是用来做持久化存储的。 问题 Redis 自带的过期机制只能对 key 过期,而不能对具体的值过期,但是在某些特定的场景下需要对部分值过期。设想一个场景,有一篇文章,通过唯一...
CopyOnWriteArrayList 是 ArrayList 的线程安全版本。用一句话概括它的特点就是:所有的修改操作都是基于副本来进行的。 设计思想 在 java.util.concurrent 下,有很多线程安全的容器,大致可以分成...
ConcurrentHashMap 用法上与 HashMap 差别不大,但 ConcurrentHashMap 是线程安全的,可以在多线程环境中使用。这篇文章主要会说明 ConcurrentHashMap 专有的一些特点,与 HashMap...
HashMap 实现了 Map 接口。HashMap 使用的很广泛,但不是线程安全的,如果在多线程中使用,必须需要额外提供同步机制(多线程情况下推荐使用 ConCurrentHashMap)。 HashMap 的类图相对简单,主要就是继承了...
fail-fast 实际上是一种系统设计的方法,维基百科上是这样解释的: 在系统设计中,一个 fail-fast 的系统可以通过特定的接口快速报告系统中任何潜在的故障。fail-fast 系统在发现故障时不会尝试继续运行系统,而会立即停止当...