; } } 下面是第二个文件 MainApp.java 的内容: package com.tutorialspoint; import org.springframework.context.ApplicationContext...org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext...2 Spring ApplicationContext 容器 该容器添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力,发布应用程序事件给感兴趣的事件监听器的能力。...该容器是由org.springframework.context.ApplicationContext 接口定义。...ApplicationContext 容器包括 BeanFactory 容器的所有功能,所以通常建议超过 BeanFactory。
ApplicationContext是对BeanFactory的扩展,实现BeanFactory的所有功能,并添加了事件传播,国际化,资源文件处理等。...protected void initPropertySources() { super.initPropertySources(); //TODO } } 一般不直接实现ApplicationContext...beanFactory.registerResolvableDependency(ApplicationEventPublisher.class, this); beanFactory.registerResolvableDependency(ApplicationContext.class...org.springframework.context.support.ResourceBundleMessageSource"> lang/message 读取: ApplicationContext
(一)Applicaiont 继承关系解读 ApplicationContext 分别继承了以下接口: ResourcePatternResolver:解析和加载资源 MessageSource:国际化...BeanFactory:Bean 容器 EnvironmentCapable:获取应用环境配置 ApplicationEventPublisher:发布事件 (二)构建ApplicationContext
applicationContext.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context
1 ApplicationContext都是什么(它继承了哪些接口)? 图片2 ApplicationContext有哪些实现子类? 1. 有哪些实现子类? 2. 实现子类可以分为哪几类? 3....图片3 ApplicationContext中持有什么样的BeanFactory实现? 1. ApplicationContext中持有什么样的BeanFactory实现?...图片4 ApplicationContext的实现子类中加载bean定义的代码结构是怎样的? xml方式的类结构是怎样的? application.xml <?...XMLConfigMain.javapublic class XMLConfigMain { public static void main(String[] args) { ApplicationContext
ListableBeanFactory:主要用于获取bean相关信息,例如获取所有bean名称,查找指定类型的所有bean等,如下图: ApplicationContext接口 关于ApplicationContext...ApplicationContext继承下来了,另外通过类图可以发现,ApplicationContext还继承了诸如Environment、Resource、Message、Event 等相关的接口...(应用事件)等服务相关的接口,简单的说ApplicationContext是以bean管理为基础的综合能力扩展,用于满足业务对Spring综合能力的需要; 再看看ApplicationContext源码...,除了继承,它自身也提供了一些扩展的能力: public interface ApplicationContext extends EnvironmentCapable, ListableBeanFactory...bean服务为基础; 实现类解析 如果有个类实现了ApplicationContext接口,就必须实现上述多个接口定义的方法,这个类岂不是很复杂?
1.直接通过@Resource注解注入 @Resource ApplicationContext applicationContext; 2.实现ApplicationContextAware接口 @...applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext...) throws BeansException { SpringBeanUtils.applicationContext = applicationContext; }...public ApplicationContext getApplicationContext(){ return applicationContext; } } 3.在启动类...) { SpringBeanUtils.applicationContext = applicationContext; } }
文章目录 BeanFactory和ApplicationContext ApplicationContext ApplicationContext概述 ApplicationContext类体系结构...ApplicationContext初始化 ApplicationContext两个主要实现类 ClassPathXmlApplicationContext FileSystemXmlApplicationContext...我们一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文,但有时候为了行文方便,我们也将ApplicationContext称为Spring容器。...对于BeanFactory 和 ApplicationContext的用途: BeanFactory是Spring框架的基础设施,面向Spring本身 ApplicationContext面向使用Spring...---- ApplicationContext初始化 ? ?
右键 new -》XML Configuration File-》spring config
由于篇幅限制,我们并没有详细解释ApplicationContext类所继承的父接口及其作用。因此,本文将单独为ApplicationContext进行详细说明,包括其继承的父接口及其作用。...ApplicationContext父接口MessageSource大家应该都比较熟悉MessageSource,它用于国际化,许多项目都会使用它。...(AppConfig.class);//String message = applicationContext.getMessage("test", null, new Locale("en"));//...applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);applicationContext.getEnvironment...ApplicationEventPublisherApplicationEventPublisher是一个事件发布器,我们可以通过ApplicationContext来发布一个相应的事件,具体步骤如下:
1.直接通过@Resource注解注入@ResourceApplicationContext applicationContext;2.实现ApplicationContextAware接口@Componentpublic...class SpringBeanUtils implements ApplicationContextAware { private static ApplicationContext applicationContext...; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException...{ SpringBeanUtils.applicationContext = applicationContext; } public ApplicationContext...) { SpringBeanUtils.applicationContext = applicationContext; }}
这个容器在 org.springframework.context.ApplicationContext interface 接口中定义。...ApplicationContext 包含 BeanFactory 所有的功能,一般情况下,相对于 BeanFactory,ApplicationContext 会被推荐使用。...最常被使用的 ApplicationContext 接口实现: FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。...message); } } 下面是文件 MainApp.java 的内容: package com.tutorialspoint; import org.springframework.context.ApplicationContext...org.springframework.context.support.FileSystemXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext
在 WEB 开发中,可能会非常少须要显示的获得 ApplicationContext 来得到由 Spring 进行管理的某些 Bean, 今天我就遇到了,在这里和大家分享一下, WEB 开发中,怎么获取...ApplicationContext 一 要想怎么获取 ApplicationContext, 首先必须明确 Spring 内部 ApplicationContext 是如何存储的。...ApplicationContext parent = loadParentContext(servletContext); // it is available on ServletContext...存到在了两个地方,那么是不是意味着我们能够通过两种方式取得ApplicationContext?...获取的这个ApplicationContext对象后你就能够getBean()了。。。。。
Spring源码篇-ApplicationContext 前面通过手写IoC,DI、AOP和Bean的配置。...一、ApplicationContext ApplicationContext到底是什么?字面含义是应用的上下文。这块我们需要看看ApplicationContext的具体的结构。 ...通过ApplicationContext实现的相关接口来分析,ApplicationContext接口在具备BeanFactory的功能的基础上还扩展了 应用事件发布,资源加载,环境参数和 国际化的能力...然后我们来看看ApplicationContext接口的实现类的情况。 ...二、BeanFactory 上面分析了 ApplicationContext接口的结构。
我的解决步骤: 1、清空target文件 2、重新构建项目 3、查看target下的classes文件夹 发现没有给资源文件applicationContext.xml
Spring中提供的标准事件: ContextRefreshEvent,当ApplicationContext容器初始化完成或者被刷新的时候,就会发布该事件。...此处的容器初始化指的是所有的Bean都被成功装载,后处理(post-processor)Bean被检测到并且激活,所有单例Bean都被预实例化,ApplicationContext容器已经可以使用。...ContextStartedEvent,当ApplicationContext启动的时候发布事件,即调用ConfigurableApplicationContext接口的start方法的时候。...ContextStoppedEvent,当ApplicationContext容器停止的时候发布事件,即调用ConfigurableApplicationContext的close方法的时候。...ContextClosedEvent,当ApplicationContext关闭的时候发布事件,即调用ConfigurableApplicationContext的close方法的时候,关闭指的是所有的单例
1、BeanFactory 2、ApplicationContext 3、Bean创建过程 4、容器扩展 5、感知接口 *Aware 6、广播与监听 7、资源 8、运行环境抽象 BeanFactory...SpringIoC容器顶级接口,定义了对单个bean的获取,对bean的作用域判断,获取bean类型,获取bean别名的功能 AbstractApplicationContext .refresh() 源码脉络 ApplicationContext
我们先看看AnnocationConfigApplicationContext来加载bean,这个比ClassPathXmlApplicationContext...
我们知道BeanFactory接口是给spring框架用的,而ApplicationContext接口才是给我们开发者使用的。...所以ApplicationContext接口提供了很多我们日常开发时所需要的功能。我们下面看一下ApplicationContext接口主要都包括哪些功能。...ResourcePatternResolver ApplicationContext接口实现了ResourcePatternResolver的功能,可以使ApplicationContext接口的子类通过类似...而ApplicationContext接口在初始化IOC容器时,则会将所有单实例的对象直接初始化。这也是这两个接口的主要区别之一。...正是因为如此,所以ApplicationContext接口的初始化时间要比BeanFactory接口的初始化时间要长。 ?
HelloWorld obj = (HelloWorld) factory.getBean("helloWorld"); obj.getMessage(); } } ApplicationContext...ApplicationContext继承自BeanFactory接口,ApplicationContext包含了BeanFactory中所有的功能。...Bean实例化/串联 自动BeanPostProcessor注册 自动BeanFactoryPostProcessor注册 方便的MessageSource访问 ApplicationEvent发布 ApplicationContext...采用的是预加载,每个Bean都在ApplicationContext启动后实例化。...public class HelloWorldApp{ public static void main(String[] args) { ApplicationContext context
领取专属 10元无门槛券
手把手带您无忧上云