spring
屹想天开
这个作者很懒,什么都没留下…
展开
-
Spring【版本5.2.2】容器初始化过程(八)createBean 详解(二)
不得不说,对我们这种平庸的人,学习源码是痛苦的接着上文1. doCreateBean >> applyMergedBeanDefinitionPostProcessors /** * 将MergedBeanDefinitionPostProcessors应用于指定的bean定义, * 调用它们的postProcessMergedBeanDefinition方法。 ...原创 2019-11-27 18:25:45 · 237 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(七)createBean 详解(一)
接着上文,说到关于createBean,在上节的doGetBean 9.1.1、9.2.2、9.3.4三次调用了createBean,篇幅原因,适当去掉一些异常的处理1.createBean @Override protected Object createBean(String beanName, RootBeanDefinition mbd, @Nullable Obj...原创 2019-11-27 18:25:08 · 795 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(六)getBean 详解
接着上文的6.registerBeanPostProcessors代码块4:getBean这个是重点: @Override public Object getBean(String name) throws BeansException { // 获取name对应的bean实例,如果不存在,则创建一个 return doGetBean(name, null, null...原创 2019-11-26 20:36:07 · 298 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(五)finishBeanFactoryInitialization
11.finishBeanFactoryInitialization篇幅原因,可能会删除一些不重要的代码,是不重要,不是没用。protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) { // 1. 判断是否有bdName为conversionService的bd(...原创 2019-11-25 22:55:04 · 199 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(四)refresh(三)
6.registerBeanPostProcessors这个方法主要是处理各种各样的BeanPostProcessors,并按照实现接口PriorityOrdered和Ordered进行分组排序public static void registerBeanPostProcessors( ConfigurableListableBeanFactory beanFactory, Abstra...原创 2019-11-25 19:28:27 · 158 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(三)refresh(二)
继续上文说说invokeBeanFactoryPostProcessors源码敬上:/** * Instantiate and invoke all registered BeanFactoryPostProcessor beans, * respecting explicit order if given. * <p>Must be called before sin...原创 2019-11-23 12:50:38 · 163 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(二)refresh(一)
下面来说说AnnotationConfigApplicationContext的第三个方法 refresh/** * 准备好bean工厂,实例化对象 * @throws BeansException * @throws IllegalStateException */ @Override public void refresh() throws BeansException,...原创 2019-11-22 17:53:41 · 172 阅读 · 0 评论 -
Spring【版本5.2.2】容器初始化过程(一)this与register
因为我还是比较喜欢转载的,人家总结的漂漂亮亮的,何苦自己在整轮子,但是关于spring容器初始化过程相关文章,是在找不到一个合适的,所以自己整理了一篇。废话不多说,直接上代码,因为后面废话更多,如有错误,留言指正,都是学习首先准备一个测试代码:public class IocTest2 { public static void main(String[] args) { BeanFac...原创 2019-11-22 17:27:09 · 536 阅读 · 0 评论 -
Spring中BeanFactory与FactoryBean的区别
一、BeanFactoryBeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean()、containsBean()等管理Bean的通用方法。Spring的容器都是它的具体实现如:DefaultListableBeanFactoryXmlBeanFactoryApplicationContext这些实现类又从不同的...转载 2019-11-20 14:49:36 · 80 阅读 · 0 评论 -
spring aop之@DeclareParents总结
1. 概念Spring AOP提供的@Before、@After、@AfterReturning、@AfterThrowing、@Around只对类的现有方法进行增强处理。如果需要对现有类增加新的方法,有两种方法可实现:扩展现有类:实现简单,但如果对多个现有类进行扩展时,需增加多个类使用@DeclareParents注解实现:实现复杂,可使用通配符匹配本文介绍@DeclareParent...转载 2019-11-18 16:59:33 · 790 阅读 · 2 评论 -
Spring aop (一)
###1. spring aop支持AspectJ启用@AspectJ支持@Configuration@ComponentScan("com.good.aop.demo4") // 为了引入AnimalService@EnableAspectJAutoProxy(proxyTargetClass = false)public class AppConfig4 {}声明一个As...转载 2019-11-17 14:49:11 · 122 阅读 · 0 评论 -
Spring Lifecycle Callbacks
官方文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-lifecycle三种方式(如果三种方式同时修饰一个方法,则按照如下顺序):Methods annotated with @PostConstructafterPrope...转载 2019-11-17 00:22:27 · 132 阅读 · 0 评论 -
Spring bean的作用域
Spring Bean Scope文档参考:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-factory-scopesBean的Scope 什么是?Bean的Scope定义了Bean的生命周期和在上下文中的可见性。在Spring框架中共定...转载 2019-11-16 22:02:23 · 103 阅读 · 0 评论 -
@Autowired与@Resource、@Qualifier
Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。@Autowired与@Resource@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resou...转载 2019-11-16 18:31:23 · 163 阅读 · 0 评论