spring
农夫渔民
漫漫修行路
展开
-
spring源码阅读之循环依赖的解决
循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如下图所示:循环调用是无法解决的,除非有终结条件,否则就是死循环,最终导致内存溢出错误。循环依赖的产生和解决的前提循环依赖的产生可能有很多种情况...原创 2020-04-22 14:47:15 · 177 阅读 · 0 评论 -
spring源码阅读之AbstractBeanFactory与bean的加载过程
AbstractBeanFactory的层次结构一. AbstractBeanFactory的作用api里是这样说的,是抽象BeanFactory的基类,同时实现了ConfigurableBeanFactory的SPI,提供了所有的功能 也可以从我们定义的资源中resource中来获取bean的定义. 也提供了单例bean的缓存通过DefaultSingletonBeanRegis...转载 2020-04-21 22:28:24 · 428 阅读 · 0 评论 -
spring源码之二:Spring容器启动与单例bean的初始化
在上一篇文章中分析了spring容器的初始化过程,这篇文章分析spring容器的初始化与单例bean的初始化过程这里说一个IDE看源码的过程,有时候你找不到源码之间的调用关系,在方法上使用快捷键CTRL+G,查找方法被调用的过程上一篇文章说过spring通过initWebApplicationContext类的initWebApplicationContext()方法初始化web容器,代码...原创 2020-04-21 17:09:59 · 269 阅读 · 0 评论 -
Spring之一 Spring容器XmlWebApplicationContext实例化与启动过程
XmlWebApplicationContext它既是 DispatcherServlet 的 (WebApplicationContext)默认策略,又是 ContextLoaderListener 创建 root WebApplicationContext(根容器,同时也是 DispatcherServlet 的 WebApplicationContext 的父容器)的默认策略。X...原创 2020-04-21 12:35:01 · 1049 阅读 · 0 评论 -
spring FactoryBean与BeanFactory
spring FactoryBean与BeanFactoryBeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖.FactoryBean,以bean结尾,表示它是一个bean,只不过这个bean比较特殊,...原创 2018-03-15 18:42:07 · 223 阅读 · 0 评论 -
spring aware
Aware,是感应和感知的意思。当bean实现了对应的Aware接口时,BeanFactory会在生产bean时根据它所实现的Aware接口,给bean注入对应的属性,从而让bean获取外界的信息。aware的层次结构如下简单分析下各个接口的使用org.springframework.context.ApplicationContextAware接口实现该接口的类将会获取App...原创 2019-03-24 16:23:00 · 148 阅读 · 0 评论 -
spring容器生命周期回调
spring容器生命周期回调上一篇文章中我们谈了spring bean生命周期回调,这些都是建立在容器已经启动的前提下,那么如果想参与spring 容器的生命周期回调,我们该怎办?spring提供了一些接口Lifecycle接口如下public interface Lifecycle { void star...原创 2019-03-24 15:09:29 · 754 阅读 · 0 评论 -
spring bean 生命周期回调
spring bean 生命周期回调spring bean的生命周期回调有两种:初始化回调(init-method) 销毁回调(destory-method)实现生命周期回调有三种方法:实现接口、xml配置、使用注解初始化生命周期回调(init-method)实现:实现org.springframework.beans.fact...原创 2019-03-24 14:51:34 · 443 阅读 · 0 评论 -
spring bean scope
spring bean scopespring bean scope有如下几种取值scope 描述 singleton (Default) Scopes a single bean definition to a single object instance per Spring IoC contain...原创 2019-03-23 23:01:15 · 500 阅读 · 0 评论 -
spring bean Dependencies
spring bean overviewspring Ioc容器管理bean,先看下一个通用的bean xml配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/...原创 2019-03-23 19:00:45 · 417 阅读 · 0 评论 -
spring profiles properties
spring profiles propertiesspring的profiles为多环境配置提供了最佳事件,如果一个系统需要qa测试环境与上线环境,两个环境的数据源不一样,传统的数据源配置是这样的@Bean(destroyMethod="")public DataSource dataSource() throws Excepti...原创 2019-03-23 00:32:43 · 973 阅读 · 0 评论 -
Spring Transaction Management
Spring Transaction Managementjava的事务类型:JDBC事务、JTA(Java Transaction API)事务、容器事务。这是从事务的实现角度区分的。站在事务管理的角度,可以把Java中用到的事务分为本地事务和全局事务。本地事务:不用事务的编程框架来管理事务,直接使用资源管理器来控制事务。典型的就是ja...原创 2019-03-22 16:22:31 · 251 阅读 · 0 评论 -
spring container
spring containerorg.springframework.context.ApplicationContext接口代表一个spring container,它通过读取元数据来初始化、配置和组装beans。元数据的变现形式一般为xml配置文件、java注解、java代码。元数据允许开发者表达组成应用程序的对...原创 2019-03-25 15:00:42 · 889 阅读 · 0 评论 -
Spring之基于注解的容器配置
Spring之基于注解的容器配置@Required@required注解用于bean的property注解,egpublic class SimpleMovieLister { private MovieFinder movieFinder; @Required public void setMovieF...原创 2019-03-25 12:41:15 · 179 阅读 · 0 评论 -
spring容器扩展之FactoryBean
Spring容器扩展之FactoryBean FactoryBean接口是Spring IoC容器实例化逻辑的扩展点。一、区别FactoryBean和BeanFactory首先不要混淆FactoryBean和BeanFactory。BeanFactory直译是生产Bean的工厂,在Srping中就是容器,常用的Applica...原创 2019-03-25 10:54:39 · 406 阅读 · 1 评论 -
spring容器扩展之BeanFactoryPostProcessor
spring容器扩展之BeanFactoryPostProcessorpring允许BeanFactoryPostProcessor在容器创建bean之前读取bean配置元数据,并可进行修改。例如增加bean的属性和值,重新设置bean是否作为自动装配的侯选者,重设bean的依赖项等等。在srping配置文件中可以同时配置多个BeanFactoryPo...原创 2019-03-24 23:15:22 · 166 阅读 · 0 评论 -
spring 容器扩展之BeanPostProcessor
spring 容器扩展之BeanPostProcessorspring的BeanPostProcessor接口给开发者提供了一个容器扩展的入口,在Spring容器完成Bean实例化和属性设置后,并且在bean调用初始化方法之前或之后。因此BeanPostProcessor(Bean后置处理器)常用在:对bean内部的值进行修改;实现Bean的动态...原创 2019-03-24 22:56:01 · 258 阅读 · 0 评论 -
spring bean 生命周期
spring bean 生命周期spring bean的生命周期从容器启动开始到容器停止运行,如图代码如下package com.spring.model;import org.springframework.beans.factory.DisposableBean;import org.springfra...原创 2019-03-24 19:56:50 · 176 阅读 · 0 评论