spring容器的基本实现-- 读书笔记(219)

来源:互联网 发布:化学动画软件 编辑:程序博客网 时间:2024/06/06 07:10

spring容器是怎么实现的,它是什么?用什么实现?为什么这样实现?好处是什么?

通过配置文件,定义bean

可配置


2.1 容器基本用法

1 定义一个bean 

2 通过配置文件生成一个纯粹的POJO

2.2 功能分析

读取配置文件,反射生成POJO,beanFactory串联。

寥寥数行代码,spring执行的逻辑却很多很多,半本书的文字也只能介绍大致原理。

2.3 工程搭建

2.4 Spring的结构组成

主要有两个核心类:

1 DefaultListableBeanFactory:BeanDefinition注册;Bean的创建,自动注入,初始化,Bean的后处理器;(BeanFactory)获取Bean的配置清单。

2 XmlBeanDefinitionReader:  读取资源文件Resource转换Document并解析Element。

2.5 容器的基础

XmlBeanFactory:  上面核心类的二合一。

2.6 获取xml的验证模式 

DTD和XSD:  主要的区别

DTD(Document Type Definition)文档类型定义,属于XML文件组成的一部分。XML约束模式语言。比如约束 beans 标签 default-lazy-init 属性只能为true | false 默认是false。

XSD(XML Schema Definition)文档结构描述。本身是一个XML文档,描述XML文档的结构,可以用来验证另一个XML。比如自定义一个标签,并在使用该标签的XML文件中指定相应的XSD文件位置或者URL。

2.7 获取document

XmlBeanDefinitionReader 使用ClassPathResource类通过xml获取Resource,然后由DocumentLoader获取document。

2.8 解析及注册

BeanDefinitonDocumentReader接口registerBeanDefinitions(doc,xmlReaderContext)。区分默认命名空间和自定义命名空间,进行不同的解析element。

原创粉丝点击