![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring 源码解析
文章平均质量分 91
炒栗子不加糖
这个作者很懒,什么都没留下…
展开
-
bean的加载
bean的加载通过前面标签解析,创建BeanFactory之后就可以调用getBean方法获取beanMyTestBean bean = (MyTestBean) beanFactory.getBean("myTestBean");我们大概过一下getBean方法源码// AbstractBeanFactory.java@Overridepublic Object getBean(String name) throws BeansException { return doGetBean原创 2021-11-20 17:39:55 · 1253 阅读 · 0 评论 -
自定义标签解析
自定义标签解析自定义标签使用很多情况下,需要为系统提供可配置化支持,简单做法可以直接基于Spring的标准bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会变得很难配置。一般可以自己解析定义好的XML文件,然后转化为配置对象,这种方式可以解决问题但实现起来比较复杂。Spring提供了可扩展Schema的支持,扩展Spring自定义标签配置大致需要以下几步创建一个需要扩展的组件定义一个XSD文件描述组件内容创建一个文件,实现BeanDefinitionParser接口,用来原创 2021-05-24 15:57:44 · 585 阅读 · 2 评论 -
默认标签解析
默认标签解析Spring中标签包括默认标签和自定义标签两种,两种标签的用法和解析方式大不相同,默认标签的解析是在parseDefaultElement方法中进行,分别对4种 不同标签(import,alias,bean、beans)做了不同处理private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { if (delegate.nodeNameEquals(ele, IMPORT_E原创 2021-04-27 22:48:06 · 155 阅读 · 0 评论 -
Spring容器的基本实现
Spring容器的基本实现Spring的结构组成bean包的层级结构beans包中各个源码包的功能如下src/main/java用于展现Spring的主要逻辑src/main/resource用于存放系统的配置文件src/test/java用于对主要逻辑进行单元测试src/test/resource用于存放测试用的配置文件核心类介绍Spring中最为核心的两个类DefaultListableBeanFactoryXmlBeanFactory继承自org.spring原创 2021-03-01 00:41:50 · 1138 阅读 · 3 评论 -
Spring架构和环境搭建
Spring架构和环境搭建spring整体架构Spring架构是一个分层架构,包含一系列功能,并被分为大约20个模块Core ContainerCore Container 包含Beans、Core、Context、Expression Language模块。Core和Beans是架构的基础部分提供控制反转和依赖注入特性。这里的基础概念是BeanFactory,提供Factory模式的经典实现来消除对程序性单例模式的需要,并真正从程序逻辑中分离出依赖关系和配置Core模块主要包含Spring原创 2021-03-01 00:30:26 · 190 阅读 · 1 评论