
SpringIOC
不要败给了时间
Talk is cheap! Show me the code!
展开
-
BeanFactory
BeanFactory接口Spring框架用来盛放Beans最基础最泛化的接口。相比之下,其子类如ListableBeanFactorty或ConfigureableBeanFactory都是有更确切目标的接口。Spring中,每一个盛放Bean的容器类都应该实现此接口,并且用唯一的id来标识每一个Bean。 通常来说,使用Spring的依赖注入(DI)体系来配置Bean要比使用BeanFacto原创 2017-08-07 20:58:48 · 371 阅读 · 0 评论 -
DefaultResourceLoader
此类是ResourceLoader的一个默认实现。ResourceEditor和AbstractApplicationContext都会使用此实现版本。如果所给路径是URL的话,则返回URLResource,否则返回ClassPathResource。public class DefaultResourceLoader implements ResourceLoader { private C翻译 2017-08-14 20:56:20 · 681 阅读 · 0 评论 -
ConfigurableApplicationContext
此接口结合了所有ApplicationContext需要实现的接口。因此大多数的ApplicationContext都要实现此接口。它在ApplicationContext的基础上增加了一系列配置应用上下文的功能。配置应用上下文和控制应用上下文生命周期的方法在此接口中被封装起来,以免客户端程序直接使用。/** * SPI interface to be implemented by most if翻译 2017-08-14 20:29:35 · 12507 阅读 · 1 评论 -
Lifecycle
一个通用接口,定义了控制Bean生命周期的方法。 此接口通用的应用场景为异步处理。此接口并没有自动启动的语义在里面。如果需要这种功能,可以考虑实现SmartLifecycle接口。 此接口既可以被Spring的各组件实现,也可以被容器本身实现。当实现此接口的类本身是Container时,在容器上调用此接口的方法的同时,容器本身应该通知其包含的所有实现了此接口的组件。 需要注意的是,在Sprin原创 2017-08-14 17:52:34 · 285 阅读 · 0 评论 -
AutowireCapableBeanFactory
对于想要拥有自动装配能力,并且想把这种能力暴露给外部应用的BeanFactory类需要实现此接口。 正常情况下,不要使用此接口,应该更倾向于使用BeanFactory或者ListableBeanFactory接口。此接口主要是针对框架之外,没有向Spring托管Bean的应用。通过暴露此功能,Spring框架之外的程序,具有自动装配等Spring的功能。 需要注意的是,ApplicationCo原创 2017-08-11 13:58:51 · 3523 阅读 · 0 评论 -
PathMatchingResourcePatternResolver
/* * Copyright 2002-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * Yo翻译 2017-08-18 09:21:29 · 2681 阅读 · 0 评论 -
ApplicationContext
使应用可配置的核心接口,当应用开始运行时,此接不应该提供修改其内部状态的方法,为 只读状态。 此接口理应提供以下功能 1. 获取应用组件的功能 2. 读取配置文件的功能 3. 发布事件的功能 4. 解析消息的功能 5. 从父上下文中继承组件的功能。但是在继承树中,越是底层的上下文,其中元素的优先级越高。也就是说底层上下文中的元素会覆盖父上下文中相同的元素。除了支持BeanFactory原创 2017-08-10 21:26:17 · 380 阅读 · 1 评论 -
ApplicationEventPublisher
此接口提供Spring中事件发布的功能,是ApplicationContext的父接口。public interface ApplicationEventPublisher { /** * 通知所有注册在此应用上监听指定消息的监听器。 * 发布的事件可以是任何类型的,如可能是框架相关的如RequestHandledEvent,亦有可能是 * 应用相关的消息原创 2017-08-10 21:15:58 · 2164 阅读 · 0 评论 -
ResourcePatternResolver
用于解析资源文件的策略接口,其特殊的地方在于,它应该提供带有*号这种通配符的资源路径。 此接口是ResourceLoader接口的拓展接口。 PathMatchingResourcePatternResolver是此接口的独立实现,其常常用于应用上下文之外如ResourceArrayPropertyEditor中 理应支持所有类似”/WEB-INF/*-context.xml”这种模式的路径输原创 2017-08-10 21:07:11 · 8879 阅读 · 0 评论 -
ResourceLoader
用于加载资源的策略接口(策略包括classpath或者file system等类型)。Spring中的的所有应用上下文都应该拥有此功能和其拓展功能-ResourcePatternResolver。 DefaultResourceLoader是此接口的一个实现,通常在ApplicationContext以外的类中使用,如ResourceEditorpublic interface ResourceL原创 2017-08-09 12:00:05 · 484 阅读 · 0 评论 -
MessageSource
此接口是一个用于消息解析的策略接口,其支持消息的参数化和国际化。 Spring提供两种现成的实现类:构建于ResourceBundle基础之上的ResourceBundleMessageSource和ReloadableResourceBundleMessageSource类用于在不重启虚拟器的情况下重新加载消息public interface MessageSource { /**原创 2017-08-09 11:40:23 · 721 阅读 · 0 评论 -
EnvironmentCapable
实现了此接口的类有应该有一个Environment类型的域,并且可以通过getEnvironment方法取得。 Spring中所有的应用上下文类都实现了此接口。这个接口的主要作用是用于类型检查的。例如框架中有些与用户定义的BeanFactory交互的方法,这些方法有些就需要使用用户定义的BeanFactory的环境变量。这个时候就要看其是否是EnvironmentCapable接口的子类了。 上原创 2017-08-09 11:24:47 · 6047 阅读 · 0 评论 -
HierarchicalBeanFactory
HierarchicalBeanFactory接口是BeanFactory的扩展,所有要应用到有层级体系的容器类(有父BeanFactory的那种),都应该实现此接口。 此接口的getParentBeanFactory方法可以得到此BeanFactory的父BeanFactory,但是设置一个BeanFactory的父BeanFactory的方法却没有在此接口中,而是在ConfigurableBe原创 2017-08-09 10:56:06 · 1759 阅读 · 0 评论 -
ListableBeanFactory
ListableBeanFactory接口是BeanFactory接口的一个扩展,所有能列举其包含的所有Bean而非容器都应该实现此接口。/** * Extension of the {@link BeanFactory} interface to be implemented by bean factories * that can enumerate all their bean insta原创 2017-08-08 19:31:39 · 3797 阅读 · 0 评论 -
AbstractApplicationContext
此类是ApplicationContext接口的一般实现类,通过模板方法的方式,实现了所有应用上下文的通用方法,而将资源获取等细节留给具体实现类来实现。 与普通的BeanFactory相比,ApplicationContext一般可以包含特殊的Bean来做一些个性化的处理。例如一般ApplicationContext中会注册BeanFactoryPostProcessors、BeanPostPro翻译 2017-08-17 09:26:15 · 2905 阅读 · 1 评论