写在前面 Spring在启动时,默认会将单实例bean进行实例化,并加载到Spring容器中.也就是说,单实例bean默认在Spring容器启动的时候创建对象,并将对象加载到Spring容器中.如果我们需要对某个bean进行延迟加载,我们该如何处理呢?此时,就需要使用到@Lazy注解了. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation 懒加载 懒加载就是Spring容器启动的时候,先不创建对象,在第一次使用(获…
0.Spring注解驱动开发 0.1 简介 <Spring注解驱动开发>是一套帮助我们深入了解Spring原理机制的教程: 现今SpringBoot.SpringCloud技术非常火热,作为Spring之上的框架,他们大量使用到了Spring的一些底层注解.原理,比如@Conditional.@Import.@EnableXXX等.如果掌握这些底层原理.注解,那么我们对这些高层框架就能做到高度定制,使用的游刃有余: 本视频涵盖的内容: Spring的常用注解(@ComponentScan.@B…
写在前面 在之前的文章中,我们探讨了如何向Spring的IOC容器中注册bean组件,讲解了有关bean组件的生命周期的知识.今天,我们就来一起聊聊@Value注解的用法. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation @Value注解 Spring中的@Value注解可以为bean中的属性赋值.我们先来看看@Value注解的源码,如下所示. package org.springframework.beans…
写在前面 Spring的强大之处不仅仅是提供了IOC容器,能够通过过滤规则指定排除和只包含哪些组件,它还能够通过自定义TypeFilter来指定过滤规则.如果Spring内置的过滤规则不能够满足我们的需求,那么我们就可以通过自定义TypeFilter来实现我们自己的过滤规则. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation FilterType中常用的规则 在使用@ComponentScan注解实现包扫描时,我…
写在前面 Spring容器中的组件默认是单例的,在Spring启动时就会实例化并初始化这些对象,将其放到Spring容器中,之后,每次获取对象时,直接从Spring容器中获取,而不再创建对象.如果每次从Spring容器中获取对象时,都要创建一个新的实例对象,该如何处理呢?此时就需要使用@Scope注解设置组件的作用域. 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/spring-annotation 本文内容概览 @Scope注解概述 单实例b…
写在前面 在<[Spring注解驱动开发]如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!>一文中,我们讲述了如何使用@Bean注解来指定bean初始化和销毁的方法.具体的用法就是在@Bean注解中使用init-method属性和destroy-method属性来指定初始化方法和销毁方法.除此之外,Spring中是否还提供了其他的方式来对bean实例进行初始化和销毁呢? 项目工程源码已经提交到GitHub:https://github.com/sunshinelyz/sprin…
在 冰河技术 微信公众号前面的文章中,我们介绍了如何使用注解来自动装配Spring组件.之前将的都是在来的字段上添加注解,那有没有什么方法可以实现方法.构造器位置的自动装配吗?今天我们就一起来探讨下如何实现方法.构造器位置的自动装配. 关注 冰河技术 技术微信公众号,后台回复"spring注解"关键字,领取项目工程源码. 再谈@Autowired注解 在我发表在 冰河技术 微信公众号的<[Spring注解驱动开发]使用@Autowired@Qualifier@Primary三大注…
尚学堂spring 注解驱动开发学习笔记之 - 组件注册 组件注册 1.@Configuration&@Bean给容器中注册组件 2.@ComponentScan-自动扫描组件&指定扫描规则 3.自定义TypeFilter指定过滤规则 4.@Scope-设置组件作用域 5.@Lazy-bean懒加载 6.@Conditional-按照条件注册bean 7.@Import-给容器中快速导入一个组件 8.@Import-使用ImportSelector 9.@Import-使用ImportBe…
尚学堂spring 注解驱动开发学习笔记之 - 扩展原理 扩展原理 1.扩展原理-BeanFactoryPostProcessor BeanFactoryPostProcessor * 扩展原理: * BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的 * * 1.BeanFactoryPostProcessor:beanFactory的后置处理器: * 在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容: * 所有…
尚学堂spring 注解驱动开发学习笔记之 - Spring容器创建 Spring容器创建 1.Spring容器创建-BeanFactory预准备 2.Spring容器创建-执行BeanFactoryPostProcessor 3.Spring容器创建-注册BeanPostProcessors 4.Spring容器创建-初始化MessageSource 5.Spring容器创建-初始化事件派发器.监听器等 6.Spring容器创建-创建Bean 7.Spring容器创建-容器创建完成 8.Spr…