ICode9

精准搜索请尝试: 精确搜索
  • Java面试题2022-09-13 09:35:00

    Spring Spring中的Bean是否线程安全 1.如果Bean是⽆状态的,那么Bean则是线程安全的(没有共享修改操作) 2.如果Bean是有状态的,那么Bean则不是线程安全的 注:Bean只是一个概念,Bean是否线程安全,应看对应的对象(Bean对象)是否线程安全,有没有共享操作,是否修改。 BeanFactory和ApplicationCont

  • Spring源码-执行BeanFactoryPostProcessor2022-09-11 23:35:14

    加载完BeanDifinition后,可以对BeanDifinition做某些操作,比如修改BeanDifinition以及新增BeanDifinition。Spring提供了BeanFactoryPostProcessor接口对BeanDifinition进行扩展。 AbstractApplicationContext.class invokeBeanFactoryPostProcessors(beanFactory); // 执行BeanFact

  • Spring源码-beanFactory的准备工作2022-09-11 21:35:19

    AbstractApplicationContext类refresh方法调用obtainFreshBeanFactory加载BeanDifinition到BeanFactory中,接下来执行beanFactory的准备工作为下面的执行作铺垫。 prepareBeanFactory方法为beanFactory做准备工作: protected void prepareBeanFactory(ConfigurableListableBeanFacto

  • InitializingBean接口2022-09-10 15:00:34

       当我们需要在BeanFactory设置完所有属性之后做一些处理时,我们可以实现此接口。好比,执行自定义初始化,或者仅仅检查所有强制属性是否都设置了。   另一种实现InitializingBean的方式是指定自定义的初始化方法,例如在XML bean中定义。可以通过BeanFactory文档查看所有bean生

  • Spring源码-解析xml文件成Document对象2022-08-27 17:33:28

    一、入口 protected ConfigurableListableBeanFactory obtainFreshBeanFactory() { // 初始化BeanFactory,并进行XML文件读取,并将得到的BeanFactory记录在当前实体的属性中 refreshBeanFactory(); // 返回当前实体的beanFactory属性 return getBeanFactory(); } 二、refr

  • Spring学习笔记(1)实现简单的Bean容器2022-08-26 15:05:02

    github地址 代码目录结构 small-spring-step-01 └── src ├── main │ └── java │ └── cn.bugstack.springframework │ ├── BeanDefinition.java │ └── BeanFactory.java └── test └──

  • 工厂类设计2022-07-16 12:34:48

    1、典型代码 User: public class User { private String username; private String password; ... UserService: public interface UserService { //注册 public void register(User user); //登录 public void login(String username, String password);

  • spring源码学习(四)prepareBeanFactory方法的学习2022-07-10 23:06:55

    这个方法其实就是对beanfactory的一些属性设置,以及加入一些后续会用到的bean 1、设置beanfactory的classloader为当前context的classloader 2、设置beanfactory表达式语言的解析器 3、设置属性编辑器,有很多默认的属性编辑器比如URIEditor、ClassEditor、FileEditor;当然也可以定义

  • SpringIOC容器的使用2022-07-06 01:35:19

    SpringIOC容器的使用 获取SpringIOC的两种容器 ApplicationContext ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); ApplicationContext context = new FileSystemXmlApplicationContext("D:\\Projects\\spring-demo01\\src\\Be

  • spring学习12022-06-30 11:32:00

    * 如何看源码 * 要找到入口(按图索骥) * 要分清主线(我们主要想要看的源码流程是哪个) * 要参考资料(网上的资料、我提供的资料等等) * 一定想办法弄清楚英文的含义 * 一定要写个测试代码之后,使用debug模式断点跟踪 * spring应用的入口在哪? * Spring基础就是一个IoC容器(BeanFactory) * 目

  • spring022022-06-13 16:01:07

    容器的实现 DefaultListableBeanFactory :BeanFactory 最重要的实现,控制反转,依赖注入都由它实现 ,ApplicationContext 组合了它 beanFactory 可以通过 registerBeanDefinition 注册一个 bean definition 对象 我们平时使用的配置类、xml、组件扫描等方式都是生成 bean definition

  • 04 Spring中BeanFactory与ApplicationContext接口及实现类特点2022-06-02 02:35:31

    1 接口 1-1 基本接口说明 Springboot启动源码 package com.village.dog; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.spr

  • ApplicationContext是什么2022-05-24 21:33:46

    ApplicationContext是什么 ApplicationContext是比BeanFactory更加强大的Spring容器,它既可以创建bean、获取bean,还支持国际化、事件广播、获取资源等BeanFactory不具备的功能。 继承的接口 EnvironmentCapable ApplicationContext继承了这个接口,表示拥有了获取环境变量的功能

  • BeanFactory 和FactoryBean有什么区别2022-05-23 23:31:53

    相同点:都是用来创建bean对象的   不同点:使用BeanFactory创建对象的时候, 必须要遵循严格的生命周期流程,太复杂了,,如果想要简单的自定义某个对象的创建, 同时创建完成的对象想交给spring来管理, 那么就需要实现                         FactroyBean接口了      

  • Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理2022-05-18 19:34:22

    Spring Ioc源码分析系列--Ioc容器注册BeanPostProcessor后置处理器以及事件消息处理 前言 上一篇分析了BeanFactoryPostProcessor的作用,那么这一篇继续在refresh()方法里游荡,相信对Spring熟悉点的朋友,在看完BeanFactoryPostProcessor后,一定会想到Spring里面还有个BeanPostProcesso

  • Spring源码分析之ApplicationContext2022-05-12 18:03:29

    前言 通过前面的博客我们已经对Spring的IOC容器有了一定的了解,它的底层实现为DefaultListableBeanFactory,这是一个BeanFactory, ApplicationContext在BeanFactory容器的基础上又增加了很多功能,如事件分发,国际化等。相关类图如下 可以看到ApplicationContext是BeanFactory的子接口,

  • bean的创建过程分析-finishBeanFactoryInitialization-012022-05-11 14:01:18

    bean的创建过程分析-finishBeanFactoryInitialization-01 我们都知道spring中有两个启动类, 分别是 ClassPathXmlApplicationContext 和 FileSystemXmlApplicationContext 。 通常我们实际使用比较多得启动类就是 ClassPathXmlApplicationContext。下面我们就来先简单的回忆一下该

  • 10.spring源码2022-05-08 21:33:09

    1.spring-aop底层就是动态代理,例如有两个切面类(A_Aspect和B_Aspect)同时切目标方法 A_Aspect{ try{ @Before(前置通知) mthod.invoke(obj,args)或是环绕通知的pjp.procced(args){------------------->此时并没有真正的执行目标方法,而是执行

  • Spring Ioc源码分析系列--Ioc源码入口分析2022-05-07 18:35:35

    Spring Ioc源码分析系列--Ioc源码入口分析 本系列文章代码基于Spring Framework 5.2.x 前言 上一篇文章Spring Ioc源码分析系列--Ioc的基础知识准备介绍了Ioc的基础概念以及Spring Ioc体系的部分基础知识。那么这一篇就会真正通过一个例子,启动Ioc容器,获取容器里的bean。 首先说

  • Spring源码解析之BeanPostProcessor2022-05-05 23:33:52

    前言 AbstractApplicationContext类 refresh()方法 spring在bean的注册与实例化之间会出现如下代码 //bean的注册 ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(); //1. Allows post-processing of the bean factory in context subclasses.

  • BeanFactory与FactoryBean2022-04-25 20:34:56

    区别:   BeanFactory是个Factory,也就是IOC容器或对象工厂,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的;   FactoryBean是个Bean,对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似; B

  • Spring 源码(5)BeanFactory使用的准备及自定义属性值解析器2022-04-20 11:33:34

    BeanFactory 使用前的准备 上一篇文章 https://www.cnblogs.com/redwinter/p/16165878.html 介绍了自定义标签的使用,完成了AbstractApplicationContext#refresh 第二个方法 的介绍,本文将继续介绍Spring源码的重要方法AbstractApplicationContext#refresh方法的第三个方法:prepareB

  • Spring中BeanFactory与FactoryBean的区别2022-04-06 13:32:34

    Spring中BeanFactory与FactoryBean的区别 一、BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean()、containsBean()等管理Bean的通用方法。Spring的容器都是它的具体实现如: DefaultListableBeanFactory XmlBeanFactory App

  • BeanFactory与ApplicationContext的实现2022-03-31 01:31:57

    本文为学习笔记 BeanFactory和ApplicationContext 的实现 1、@Bean注解是BeanFactory 的后处理器的Buff 2、@AutoWire、@Resource是Bean的后处理器,bean 的后处理器是针对Bean的生命周期的扩展 3、beanFactory默认情况下读到@bean、@autowired 是不会创建对象的,而只是保留一个名字,g

  • spring(IOC)2022-03-19 14:35:48

    IOC介绍 IOC是什么 IOC(Inversion of Control)即“控制反转”,意味着将设计好的对象交给容器控制 传统的Java程序的设计,直接在对象内部通过new形式创建对象,是程序主动去创建依赖对象,而IOC技术是专门一个容器来创建对象,IOC容器来控制对象的创建而不是显式的使用new对象的创建交

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有