Spring

目录

组件注册

@Configuration&@Bean给容器中注册组件

@ComponentScan-自动扫描组件&指定扫描规则

自定义TypeFilter指定过滤规则

@Scope-设置组件作用域

@Lazy-bean懒加载

@Conditional-按照条件注册bean

@Import-给容器中快速导入一个组件

@Import-使用ImportSelector

@Import-使用ImportBeanDefinitionRegistrar

使用FactoryBean注册组件

生命周期

指定初始化和销毁方法

initializingBean和disposableBean

@PostConstruct和@Predestroy

BeanPostProcessor-后置处理器

BeanPostProcessor原理

BeanPostProcessor在Spring底层的使用

属性赋值与自动装配

属性赋值

属性赋值@Value赋值

PropertySource加载外部配置文件

自动装配

@Autowired@Qualifier@Primary

@Resource和@Inject

自动装配-方法、构造器位置的自动装配

Aware注入Spring底层组件和原理

@Profile环境搭建

@Profile根据环境注册bean

IOC小结

AOP

AOP功能测试

AOP原理

@EnableAspectJAutoProxy

AnnotationAwareAspectAutoProxyCreator

注册AnnotationAwareAspectAutoProxyCreator

AnnotationAwareAspectAutoProxyCreator执行时机

创建AOP代理

链式调用通知方法

AOP原理总结

声明式事务

环境搭建

测试成功

源码分析

扩展原理

BeanFactoryPostProcessor

BeanDefinitionRegistryPostProcessor

ApplicationListener用法

ApplicationListener原理

@EventListener和SmartInitializingSingleton

Spring容器创建

BeanFactory预准备

执行BeanFactoryPostProcessor

注册BeanPostProcessors

初始化MssageSourse

初始化事件派发器、监听器

创建Bean准备

Bean创建完成

容器创建完成

Spring源码总结

servlet3.0

servlet3.0-简介&测试

servlet3.0-ServletContainerInitializer

servlet3.0-ServletContext注册三大组件

servlet3.0-与SpringMVC整合分析

springmvc-整合

springmvc-定制与接管SpringMVC

servlet3.0-异步请求

springmvc-异步请求-返回Callable

springmvc-异步请求-返回DeferredResult


组件注册

@Configuration&@Bean给容器中注册组件

配置类加@Configuration,容器(方法)加@Bean(类型是返回值类型,id是方法名)

获取bean需要AnnotationConfigApplicationContext获取后getBean

@ComponentScan-自动扫描组件&指定扫描规则

配置类加@ComponentScan扫描组件,value设定扫描的包,includeFilters指定只包含的组件(需要设置usedefaltfilter=false将默认的去除),excludeFiters指定排除的组件

includeFilters和excludeFiters中@Filter指定规则(type=,classes=)

另外,@ComponentScans可以包含多个ComponentScan

自定义TypeFilter指定过滤规则

上面的type设为CUSTOM

新建一个下述接口的实现类

@Scope-设置组件作用域

设置单实例和多实例的  另外web环境下还有session和request的

@Lazy-bean懒加载

对于单实例bean的

@Conditional-按照条件注册bean

@Import-给容器中快速导入一个组件

配置类里加此标签

@Import-使用ImportSelector

新建下面接口的实现类

实现里面的方法

注意:此方法可以返回空数组return new string[]{} 但一定不能返回null

import里面加上

@Import-使用ImportBeanDefinitionRegistrar

创建实现类

可以指定bean名,beanDefinition需要指明那个类变成bean

使用FactoryBean注册组件

生命周期

指定初始化和销毁方法

bean标签内指定初始化和销毁方法

先构造,然后init初始化。关闭close容器时,destroy bean

initializingBean和disposableBean

 

@PostConstruct和@Predestroy

在方法上加注解

BeanPostProcessor-后置处理器

BeanPostProcessor原理

BeanPostProcessor在Spring底层的使用

属性赋值与自动装配

属性赋值

属性赋值@Value赋值

PropertySource加载外部配置文件

第三种

需要导入配置文件,配置文件里写k/v

自动装配

@Autowired@Qualifier@Primary

自动注入,指定装配,默认首选

primary在没有明确指定qualifier时起作用

@Resource和@Inject

自动装配-方法、构造器位置的自动装配

Aware注入Spring底层组件和原理

@Profile环境搭建

@Profile根据环境注册bean

IOC小结

AOP

AOP功能测试

after无论是正常结束还是异常结束都调用

在通知中获取方法名、参数等

获取返回值

获取异常

关键三步

AOP原理

@EnableAspectJAutoProxy

AnnotationAwareAspectAutoProxyCreator

注册AnnotationAwareAspectAutoProxyCreator

AnnotationAwareAspectAutoProxyCreator执行时机

创建AOP代理

链式调用通知方法

↑貌似是此节课之前的笔记

AOP原理总结

声明式事务

环境搭建

测试成功

源码分析

扩展原理

BeanFactoryPostProcessor

BeanDefinitionRegistryPostProcessor

ApplicationListener用法

ApplicationListener原理

@EventListener和SmartInitializingSingleton

Spring容器创建

BeanFactory预准备

执行BeanFactoryPostProcessor

注册BeanPostProcessors

初始化MssageSourse

初始化事件派发器、监听器

创建Bean准备

Bean创建完成

容器创建完成

Spring源码总结

servlet3.0

servlet3.0-简介&测试

实现HttpServlet接口,重写doGet方法

@WebServlet()内写拦截请求路径

servlet3.0-ServletContainerInitializer

servlet3.0-ServletContext注册三大组件

servlet3.0-与SpringMVC整合分析

springmvc-整合

步骤:

springmvc-定制与接管SpringMVC

servlet3.0-异步请求

springmvc-异步请求-返回Callable

测试一下,如果控制器返回callable会怎么样

打印如下:

原因:

springmvc-异步请求-返回DeferredResult

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值