当前位置: 首页 > news >正文

spring-001-Ioc 顶层容器

一、顶层容器

1、org.springframework.beans.factory.BeanFactory
接口提供了IoC容器最基本功能
 
主要的实现类:org.springframework.beans.factory.xml.XmlBeanFactory,4.2.5版本已经注释为过时,不要再使用了。
 
BeanFactory实现,提供基本的IoC容器功能,可以从classpath或文件系统等获取资源;
1.1、从文件系统中初始化beanFactory
File file = new File("fileSystemConfig.xml");
Resource resource = new FileSystemResource(file);
BeanFactory beanFactory = new XmlBeanFactory(resource);

1.2、从classpath中初始化beanFactory

Resource resource = new ClassPathResource("classpath.xml");                 

BeanFactory beanFactory = new XmlBeanFactory(resource);

 

 
 
2、org.springframework.context.ApplicationContext
扩展了BeanFactory,还提供了与Spring AOP集成、国际化处理、事件传播及提供不同层次的context实现 (如针对web应用的WebApplicationContext)
 
主要的实现类:
 
类名
启动方式
从WEB启动
org.springframework.context.support.ClassPathXmlApplicationContext
xml配置方式启动
NO
org.springframework.context.support.AnnotationConfigApplicationContext
注解方式启动
NO
org.springframework.web.context.support.XmlWebApplicationContext 
xml配置方式启动
YES
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
注解方式启动
YES
 
 

简单说, BeanFactory提供了IoC容器最基本功能,而 ApplicationContext 则增加了更多支持企业级功能支持。ApplicationContext完全继承BeanFactory,因而BeanFactory所具有的语义也适用于ApplicationContext。

转载于:https://www.cnblogs.com/conge/p/5382720.html

相关文章:

  • Android自动化测试之Monkeyrunner使用方法及实例
  • 【案例】slave_net_timeout 问题一则
  • Node+Express+node-mysql 实战于演习 全套mysql(增删改查)
  • 我与mongodb 二三事(2)
  • 失眠的症状是什么
  • 20145222黄亚奇《Java程序设计》实验二实验报告
  • TaskCompletionSource的使用场景
  • Nginx负载均衡配置实例详解(转)
  • H5页面快速搭建之高级字体应用实践
  • 技能的释放与CD
  • 数据仓库专题(6)-数据仓库、主题域、主题概念与定义
  • 实现滑动分页(微博分页方式)
  • MySQL 读写分离介绍及搭建
  • corosync + pacemaker + nfs 构建高可用mysql集群
  • GCC编译器使用
  • php的引用
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • Angular6错误 Service: No provider for Renderer2
  • export和import的用法总结
  • Github访问慢解决办法
  • HomeBrew常规使用教程
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • js算法-归并排序(merge_sort)
  • 成为一名优秀的Developer的书单
  • 基于组件的设计工作流与界面抽象
  • 开发基于以太坊智能合约的DApp
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 最简单的无缝轮播
  • 1.Ext JS 建立web开发工程
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #define用法
  • (ZT)薛涌:谈贫说富
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)3D模板阴影原理
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • ./和../以及/和~之间的区别
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net 受管制代码
  • .NET6 命令行启动及发布单个Exe文件
  • .NET命令行(CLI)常用命令
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .NET项目中存在多个web.config文件时的加载顺序
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • ::before和::after 常见的用法
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [.net]官方水晶报表的使用以演示下载
  • []指针