applicationcontext理解使用
Spring ApplicationContext 容器
Application Context 是 spring 中较高级的容器。和 BeanFactory 类似,它可以加载配置文件中定义的 bean,将所有的 bean 集中在一起,当有请求的时候分配 bean。 另外,它增加了企业所需要的功能,比如,从属性文件从解析文本信息和将事件传递给所指定的监听器。这个容器在 org.springframework.context.ApplicationContext interface 接口中定义。
ApplicationContext 包含 BeanFactory 所有的功能,一般情况下,相对于 BeanFactory,ApplicationContext 会被推荐使用。BeanFactory 仍然可以在轻量级应用中使用,比如移动设备或者基于 applet 的应用程序。
最常被使用的 ApplicationContext 接口实现:
FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你需要提供给构造器 XML 文件的完整路径
ClassPathXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你不需要提供 XML 文件的完整路径,只需正确配置 CLASSPATH 环境变量即可,因为,容器会从 CLASSPATH 中搜索 bean 配置文件。
- WebXmlApplicationContext:该容器会在一个 web 应用程序的范围内加载在 XML 文件中已被定义的 bean。
下面是文件 HelloWorld.java 的内容:
package com.tutorialspoint;
public class HelloWorld {private String message;public void setMessage(String message){this.message = message;}public void getMessage(){System.out.println("Your Message : " + message);}
}
下面是文件 MainApp.java 的内容:
package com.tutorialspoint; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class MainApp {public static void main(String[] args) {ApplicationContext context = new FileSystemXmlApplicationContext("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml");HelloWorld obj = (HelloWorld) context.getBean("helloWorld");obj.getMessage();} }
在主程序当中,我们需要注意以下两点:
第一步生成工厂对象。加载完指定路径下 bean 配置文件后,利用框架提供的FileSystemXmlApplicationContext API 去生成工厂 bean。FileSystemXmlApplicationContext 负责生成和初始化所有的对象,比如,所有在 XML bean 配置文件中的 bean。
- 第二步利用第一步生成的上下文中的 getBean() 方法得到所需要的 bean。 这个方法通过配置文件中的 bean ID 来返回一个真正的对象。一旦得到这个对象,就可以利用这个对象来调用任何方法。
下面是配置文件 Beans.xml 中的内容:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="helloWorld" class="com.tutorialspoint.HelloWorld"><property name="message" value="Hello World!"/></bean></beans>
如果你已经完成上面的内容,接下来,让我们运行这个应用程序。如果程序没有错误,你将从控制台看到以下信息:
Your Message : Hello World!
转载于:https://www.cnblogs.com/panxuejun/p/7212540.html
applicationcontext理解使用相关推荐
- Spring上下文(ApplicationContext)理解
什么是Spring应用上下文呢??? 什么是应用上下文呢,应用上下文即是Spring容器的一种抽象化表述:而我们常见的ApplicationContext本质上说就是一个维护Bean定义以及对象之间协 ...
- Spring的ioc控制反转
spring介绍 Spring的出现是为了取代EJB(Enterprise JavaBean)的臃肿.低效.脱离现实的缺点. Spring致力于J2EE应用的各层(表现层.业务层.持久层)的解决方案, ...
- android上下文关系,Android Context上下文的理解 Hua
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Context概念 在安卓对象中,Context是经常使用的元素-但应该也是错误使用率最高的. 你在加载资源.启动一个新 ...
- 为什么大多数IOC容器使用ApplicationContext,而不用BeanFactory
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 1. 引言 Spring框架附带了两个IOC容器– Bea ...
- 深入理解Spring的ImportSelector接口
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:聂晨 cnblogs.com/niechen/p/92624 ...
- Activity采用栈式管理的理解
本文来自:安卓航班网 Android针对Activity的管理使用的是栈,就是说某一个时刻只有一个Activity处在栈顶,当这个Activity被销毁后,下面的Activity才有可能浮到栈顶,或者 ...
- Hessian的使用以及理解(转)
Hessian的使用以及理解 Hessian版本:3.1.5 将包括如下的内容: Hessian的基本使用 Hessian的原理 Hessian和Spring 的结合使用 扩展 简单说来,Hessia ...
- 彻底理解Spring AOP
目录 前言 1. AOP概念 2. AOP的实现 3. Spring的IoC理解: 4. Sping知识整理 前言 AOP英文名为Aspect Oriented Programming,意为面向切面编 ...
- 深入理解Spring系列之三:BeanFactory解析
转载 https://mp.weixin.qq.com/s?__biz=MzI0NjUxNTY5Nw==&mid=2247483824&idx=1&sn=9b7c2603093 ...
最新文章
- c语言常用的异常处理,C语言中的异常处理
- JZOJ__Day 1【NOIP普及模拟】MATRIX
- P3306-[SDOI2013]随机数生成器【BSGS】
- jzoj4282-[NOIP2015模拟10.29B组]平方数游戏【构造】
- php背景时间渐变,CSS3怎么实现背景颜色渐变?(图文+视频)
- python全局变量可以改变吗_在Python中避免我的全局变量,我有几个函数可以改变一个变量...
- 比特币——区块链的发展历程
- 搭建cacti 期间问题总结
- pdfbox、icepdf工具实现pdf转图片
- ipv6转ipv4 NAT64与DNS64基本原理概述
- 便捷式计算机无线功能按钮,便携式wlan热点是什么 如何设置【图解】
- HBuilder制作表格式的简历
- 电子书 “已取消到该网页的导航”或“导航已取消”解决方法
- 20230411笔记-MTK天玑开发者日(北京站)
- 高德地图api实现导航功能(使用经验)避坑关注
- vsCode安装使用教程和插件安装
- 操作系统(第四版)期末复习总结(上)
- NLP:Word Embedding词嵌入/word2vec词向量思想方法(一种主流的分布式表示)的简介、使用方法、案例应用之详细攻略
- 发布/上传Jar包到Maven中央仓库 - 史上最详细
- 中华英才网爬虫程序(3)-queue和threading模块的结合使用