文章分类 - Spring 高级49讲
摘要:第九讲-AOP实现之AspectJ(编译器增强) 该讲使用AspectJ来演示AOP的动态代理(我这里使用JDK1.8来演示) 首先导入相关依赖: <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artif
阅读全文
摘要:第八讲-Scope作用域 1. Scope类型有哪些 在目前的Spring版本(Spring5)中,关于Scope的类型一共有5种: singleton:每次从容器中返回的bean都是同一个对象 prototype:每次从容器中返回的都会产生新的对象 request:该bean存在于request域
阅读全文
摘要:Bean的多种初始化和销毁手段 Spring提供了多种初始化和销毁的手段,下面我们逐渐了解这些初始化和销毁方法,并了解它们的执行顺序。 1. Spring中三种Bean初始化方式流程 我们在Bean1代码中分别写出三种不同的初始化方式: public class Bean1 implements I
阅读全文
摘要:第六讲-Aware接口和InitializingBean接口 Aware接口的作用是注入一些与容器相关的信息 BeanNameAware注入bean的名字 BeanFactoryAware注入到BeanFaactory容器 ApplicationContextAware注入到ApplicationC
阅读全文
摘要:第五讲 BeanFactory后处理器 BeanFactory后处理器的作用:为BeanFactory提供扩展 编写如下价格Bean: package com.cherry.chapter1.a05; import com.alibaba.druid.pool.DruidDataSource; im
阅读全文
摘要:第四讲 常用的Bean后处理器 Bean后处理器的作用:为Bean生命周期的各个阶段提供一些扩展功能 1. 常见的Bean后处理器 编写相关的Bean package com.cherry.chapter1.a04; import org.slf4j.Logger; import org.slf4j
阅读全文
摘要:第三讲 Bean的生命周期和模板方法 1. Spring 生命周期的各个阶段 首先准备好一个Spring容器: @SpringBootApplication public class A03Application { public static void main(String[] args) {
阅读全文
摘要:第二讲 容器的实现 1. BeanFactory 实现的特点 首先创建一个BeanFactory的实例,在这个示例中田间一些BeanDfinition对象,该对象主要包含bean的定义信息,例如bean的初始化方法,销毁方法,类型,作用域等等 package com.cherry.chapter1.
阅读全文
摘要:第一讲 BeanFactory和ApplicationContext 0. 本系列教程采用的是JDK8版本,SpringBoot 2.5.5版本 1. 容器接口 BeanFactory能做哪些事情? ApplicationContext有哪些扩展功能 事件解耦 我们首先看一个简单一点的SpringB
阅读全文