Spring学习一: Ioc容器
Spring 容器:
Spring 容器是Spring框架的核心。Spring容器将创建Bean对象实例,把它们联系在一起,配置它们,并管理它们整个生命周期从创建到销毁。Spring 容器通过依赖注入(DI)将它们组成一个应用程序组件。这些bean对象我们称为Spring beans。
通过配置元数据指令,Spring容器知道对那些对象进行实例化、配置、组装。配置元数据可以通过XML、Java注解或Java代码来实现。下图是Spirn如何工作的高效图,Spring Ioc容器通过Java POJO(Plain Old Java Object)类和配置元数据生成完全配置。

Spring 框架提供两种不同类型的容器:
1.BeanFactory容器
官网API:The BeanFactory interface provides an advanced configuration mechanism capable of managing any type of object。
翻译:BeanFactory接口提供一个高效配置机制可以管理任何类型的对象
2.ApplicationContext容器
官网API: ApplicationContext is a sub-interface of BeanFactory. It adds easier integration with Spring’s AOP features; message resource handling (for use in internationalization), event publication; and application-layer specific contexts such as the WebApplicationContext for use in web applications。
翻译:ApplicationContext接口是BeanFactory接口的子接口,增加更容易集成Spring的AOP功能;信息资源处理(用于国际化),事件发布;和应用程序层特定上下文如WebApplicationContext用于web应用程序。
基于xml元数据配置Spring Ioc容器实现代码示例:

package com.test; import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.service.NarCodeService; public class Spring {
ApplicationContext applicationContext = null; @Before
public void ApplicationContextInit() {
//创建一个ApplicationContext容器
applicationContext = new ClassPathXmlApplicationContext(new String[]{"test1-service.xml"});
System.out.println(applicationContext);
} }

Spring学习一: Ioc容器的更多相关文章
- Spring学习之Ioc控制反转(1)
开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...
- Spring学习之Ioc控制反转(2)
开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...
- 比Spring简单的IoC容器
比Spring简单的IoC容器 Spring 虽然比起EJB轻量了许多,但是因为它需要兼容许多不同的类库,导致现在Spring还是相当的庞大的,动不动就上40MB的jar包, 而且想要理解Spring ...
- Spring学习笔记IOC与AOP实例
Spring框架核心由两部分组成: 第一部分是反向控制(IOC),也叫依赖注入(DI); 控制反转(依赖注入)的主要内容是指:只描述程序中对象的被创建方式但不显示的创建对象.在以XML语言描述的配置文 ...
- 使用Spring.NET的IoC容器
使用Spring.NET的IoC容器 0. 辅助类库 using System; using System.Collections.Generic; using System.Linq; using ...
- Spring.NET的IoC容器(The IoC container)——简介(Introduction)
简介 这个章节介绍了Spring Framework的控制反转(Inversion of Control ,IoC)的实现原理. Spring.Core 程序集是Spring.NET的 IoC 容器实 ...
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系
XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...
- spring深入学习(一)-----IOC容器
spring对于java程序员来说,重要性不可言喻,可以想象下如果没有他,我们要多做多少工作,下面一个系列来介绍下spring(5.x版本). spring模块 IOC概念 spring中最重要的两个 ...
- Spring源码学习之IOC容器实现原理(一)-DefaultListableBeanFactory
从这个继承体系结构图来看,我们可以发现DefaultListableBeanFactory是第一个非抽象类,非接口类.实际IOC容器.所以这篇博客以DefaultListableBeanFactory ...
- 重新学习Spring之核心IOC容器的底层原理
一:IOC容器的定义 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般 ...
随机推荐
- 强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场
日前,腾讯云计算(北京)有限责任公司与北京国双科技有限公司签署了<国产数据库产品战略合作协议>,双方将在数据库技术方面展开深度合作,通过分布式交易型数据库的联合研发.产品服务体系建设.品牌 ...
- <数据结构>KMP算法
next数组 定义 严格定义:next[i]表示使子串s[0...k] == s[i-k...i]的最大的k(前后缀可以重叠,但不能是s[0..i]本身) 含义:最长相等前后缀的下标,没有则赋-1 图 ...
- Java中的构造方法「注意事项」
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是调用构造方法. 语法: public 类名称(参数类型 参数名称){ 方法体 } 注意事项: 构造方法的名称必须和所在的类 ...
- HTML网页设计基础笔记 • 【第7章 盒子模型】
全部章节 >>>> 本章目录 7.1 盒子模型原理 7.1.1 盒子模型概述 7.1.2 盒子的大小 7.1.3 盒子之间的关系 7.2 标准文档流 7.2.1 标准文档流 ...
- 【MySQL作业】DDL 和 DML——美和易思使用 DML 删除表数据应用习题
点击打开所使用到的数据库>>> 删除客户"刘一鸣". 执行 SQL 代码"delete from customer where cName=' 刘一鸣 ...
- 查收新年礼物丨DevEco Studio 3.0 Beta2发布,20个新变化详解
HUAWEI DevEco Studio是开发HarmonyOS应用和原子化服务的一站式集成开发环境(IDE),为开发者提供工程模板创建.开发.编译.调试.发布等功能. 2021年12月31日,新版本 ...
- Storm集群安装Version1.0.1
Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...
- .net core中EFCore发出警告:More than twenty 'IServiceProvider' instances have been created for internal use by Entity Framework
最近使用.net core k开发时,碰到个问题,Ef使用中程序发出了一个警告: More than twenty 'IServiceProvider' instances have been cre ...
- Swoole 中使用异步任务
执行异步任务 (Task) # server.php $serv = new Swoole\Server("127.0.0.1", 9501); // 设置异步任务的工作进程数量 ...
- Swoole 中使用 HTTP 异步服务器、HTTP 协程服务器
HTTP 异步风格服务器 # http_server.php $http = new Swoole\Http\Server("0.0.0.0", 9501); // 设置服务器运行 ...