1、spring历史

  spring是一个开源框架,2002年10月Rod Johnson创建,在《Expert One-on-One J2EE Design and Development》一书中第一次提出了spring核心思想,使Java EE开发变得更加简单。

2、spring核心jar包

  spring-context,logback-classic(spring日志包)

3、spring自定义标签的引入

   自定义标签,必须引入xsd文件,可以在jar包对应的spring.schemas里面找到对应的命名空间和xsd对应的路径

4、spring容器的加载方式

AnnotionConfigApplicationContext(“com.xxx”)(注解方式)、

ClassPathXmlApplicationContext("spring.xml")、

FileSystemXmlApplicationContext(绝对路径)、

EmbeddedWebApplicationContext(springboot  tomcat启动,加载方式)

5、spring容器加载流程

模板方法模式:有一个骨架类和钩子,整体流程由骨架类实现,某些特定方法由子类实现。核心是钩子方法。

委托模式:某个功能本类不实现,通过委托给其他类来实现。

装饰模式:对原有类的增强。核心是持有被装饰类的引用。

SPI设计思想:通过读取配置文件获取实现类。

BeanDefinition作用:spring实例化必须的对象。

spring入口和xml解析

总结:

1、将配置文件location放到内存,refresh beanFactory

2、从内存获取配置文件location,通过流的方式将配置文件读取到内存中,通过inputsource读取配置文件,并且将配置文件存到Document对象中

3、解析我们的Bean对象,并放到内存里面

4、解析包括我们的默认标签和自定义标签的解析

5、默认标签解析 分为三步。

     第一步:创建GenericBeanDefinition对象,将默认元素和子元素(lookupmethod,replacemothod)放进去。包装成BeanDefinitionHolder对象

     第二步:装饰我们的holder对象,根据标签属性,p:,c:。

     第三步:将我们的对象放到内存里面,concurrentMap

spring程序入口和xml解析

相关文章:

  • 2022-12-23
  • 2021-09-14
  • 2022-01-17
  • 2021-06-21
  • 2022-12-23
  • 2022-01-29
  • 2022-02-17
  • 2022-12-23
猜你喜欢
  • 2021-08-25
  • 2022-12-23
  • 2021-12-22
  • 2021-11-23
  • 2021-08-01
  • 2022-12-23
相关资源
相似解决方案