一、先用一个简单的获取bean实例的例子来了解

  1、类结构如下: 

  

  2、MyTestBean.java为bean对象,实体类,代码如下:

MyTestBean

  3、BeanFactoryTest代码如下:

package org.springframework.liulei;

import java.io.IOException;
import junit.framework.TestCase;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource; /**
*
* @author Liulei
*/
public class BeanFactoryTest extends TestCase{ @SuppressWarnings("deprecation")
public void testSimpleLoad() throws IOException{
System.out.println(BeanFactoryTest.class.getResource("beanFactoryTest.xml"));
BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml",getClass()));
MyTestBean bean = (MyTestBean) bf.getBean("myTestBean");
System.out.println(bean.getTestStr());
} }

BeanFactoryTest

  此处以此类为主要阐述对象:

    BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml",getClass()));

    通过XmlBeanFactory初始化的时序为:

      1、new ClassPathResource:拿到resource资源,此处路径需谨慎,"/*.xml"则是指classpath路径下的文件,"*.xml"是指当前类同项目包下的xml

      2、new XmlBeanFactory:通过XmlBeanDefinitionReader的loadBeanDefinitions(resource)方法返回bean定义的数目

spring源码第二章_容器的基本实现的更多相关文章

  1. spring源码第一章_获取源码并将源码转为eclipse工程

    1.通过http://gitforwindows.org/下载github 2.通过http://services.gradle.org/distributions/下载gradle:gardle类似 ...

  2. 转 Spring源码剖析——核心IOC容器原理

    Spring源码剖析——核心IOC容器原理 2016年08月05日 15:06:16 阅读数:8312 标签: spring源码ioc编程bean 更多 个人分类: Java https://blog ...

  3. 【spring源码分析】IOC容器初始化(二)

    前言:在[spring源码分析]IOC容器初始化(一)文末中已经提出loadBeanDefinitions(DefaultListableBeanFactory)的重要性,本文将以此为切入点继续分析. ...

  4. 【spring源码分析】IOC容器初始化(三)

    前言:在[spring源码分析]IOC容器初始化(二)中已经得到了XML配置文件的Document实例,下面分析bean的注册过程. XmlBeanDefinitionReader#registerB ...

  5. 【spring源码分析】IOC容器初始化——查漏补缺(二)

    前言:在[spring源码分析]IOC容器初始化(八)中多次提到了前置处理与后置处理,本篇文章针对此问题进行分析.Spring对前置处理或后置处理主要通过BeanPostProcessor进行实现. ...

  6. 【spring源码分析】IOC容器初始化(总结)

    前言:在经过前面十二篇文章的分析,对bean的加载流程大致梳理清楚了.因为内容过多,因此需要进行一个小总结. 经过前面十二篇文章的漫长分析,终于将xml配置文件中的bean,转换成我们实际所需要的真正 ...

  7. 【spring源码分析】IOC容器初始化(四)

    前言:在[spring源码分析]IOC容器初始化(三)中已经分析了BeanDefinition注册之前的一些准备工作,下面将进入BeanDefinition注册的核心流程. //DefaultBean ...

  8. 【spring源码分析】IOC容器初始化(七)

    前言:在[spring源码分析]IOC容器初始化(六)中分析了从单例缓存中加载bean对象,由于篇幅原因其核心函数 FactoryBeanRegistrySupport#getObjectFromFa ...

  9. 【spring源码分析】IOC容器初始化(十)

    前言:前文[spring源码分析]IOC容器初始化(九)中分析了AbstractAutowireCapableBeanFactory#createBeanInstance方法中通过工厂方法创建bean ...

随机推荐

  1. Leetcode 12,452,455-贪心算法

    Leetcode第12题,整数转罗马数字,难度中等 整个题目比较好理解,难度也不大,就算不过脑子,用一串if也基本上可以解决问题,比如 /** 执行用时:6ms,在所有 Java 提交中击败了52.6 ...

  2. 【JS 日期】获取当前日期时间

    获取当前日期时间 <!DOCTYPE html> <html> <head></head> <body> <script> wi ...

  3. 洛谷 P1241 括号序列(栈)

    嗯... 题目链接:https://www.luogu.org/problem/P1241 首先这道题是栈的入门题的加强版, 不仅要你判断这个括号序列是否合法,还要你将这个序列补充完整... 一开始是 ...

  4. 第十六节:Linq用法大全(四)

    1. OfType 获取集合中中指定类型元素. , , , , , "aaa", "bbb" }; int max = obj.OfType<int> ...

  5. pandas 存储文件到MySQL 以及读取

    pandas导入数据到MySQL 1.导入必要的库 2.创建链接 3.导入数据 import pandas as pd from sqlalchemy import create_engine con ...

  6. Steam 游戏 《The Vagrant(流浪者)》修改器制作-[先使用CE写,之后有时间的话改用CheatMaker](2020年寒假小目标08)

    日期:2020.02.07 博客期:146 星期五 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想拿CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页面下 ...

  7. GO 面向对象-方法

    package main import ( "fmt" ) /* 定义结构体 */ type Circle struct { radius float64 } func main( ...

  8. GO常量/枚举

    常量中的数据类型只可以是布尔型.数字型(整数型.浮点型和复数)和字符串型. 常量的定义格式: const identifier [type] = value 你可以省略类型说明符 [type],因为编 ...

  9. 1012 The Best Rank (25分) vector与结构体排序

    1012 The Best Rank (25分)   To evaluate the performance of our first year CS majored students, we con ...

  10. 「Luogu P5494 【模板】线段树分裂」

    (因为没有认证,所以这道题就由Froggy上传) 线段树分裂用到的地方确实并不多,luogu上以前也没有这道模板题,所以就出了一道,实在是想不出怎么出模板了,所以这道题可能可以用一些其他的算法水过去. ...