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容器的更多相关文章

  1. Spring学习之Ioc控制反转(1)

    开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...

  2. Spring学习之Ioc控制反转(2)

    开始之前: 1. 本博文为原创,转载请注明出处 2. 作者非计算机科班出身,如有错误,请多指正 ---------------------------------------------------- ...

  3. 比Spring简单的IoC容器

    比Spring简单的IoC容器 Spring 虽然比起EJB轻量了许多,但是因为它需要兼容许多不同的类库,导致现在Spring还是相当的庞大的,动不动就上40MB的jar包, 而且想要理解Spring ...

  4. Spring学习笔记IOC与AOP实例

    Spring框架核心由两部分组成: 第一部分是反向控制(IOC),也叫依赖注入(DI); 控制反转(依赖注入)的主要内容是指:只描述程序中对象的被创建方式但不显示的创建对象.在以XML语言描述的配置文 ...

  5. 使用Spring.NET的IoC容器

    使用Spring.NET的IoC容器 0. 辅助类库 using System; using System.Collections.Generic; using System.Linq; using ...

  6. Spring.NET的IoC容器(The IoC container)——简介(Introduction)

    简介 这个章节介绍了Spring Framework的控制反转(Inversion of Control ,IoC)的实现原理. Spring.Core 程序集是Spring.NET的 IoC 容器实 ...

  7. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系

    XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...

  8. spring深入学习(一)-----IOC容器

    spring对于java程序员来说,重要性不可言喻,可以想象下如果没有他,我们要多做多少工作,下面一个系列来介绍下spring(5.x版本). spring模块 IOC概念 spring中最重要的两个 ...

  9. Spring源码学习之IOC容器实现原理(一)-DefaultListableBeanFactory

    从这个继承体系结构图来看,我们可以发现DefaultListableBeanFactory是第一个非抽象类,非接口类.实际IOC容器.所以这篇博客以DefaultListableBeanFactory ...

  10. 重新学习Spring之核心IOC容器的底层原理

    一:IOC容器的定义 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般 ...

随机推荐

  1. Sufficient Statistic (充分统计量)

    目录 定义 充分统计量的判定 最小统计量 例子 Poisson Normal 指数分布 Gamma Sufficient statistic - Wikipedia Sufficient statis ...

  2. Linux进程管理之基本指令

    目录 基本介绍 显示系统执行的进程 指令 ps - aux 常用选项 每行栏目的含义 查看父进程 终止进程 相关指令 实用案例 踢掉某个非法登录用户 终止远程登录服务sshd,在适当的时候再次重启ss ...

  3. Vue.js高效前端开发 • 【Vue组件】

    全部章节 >>>> 文章目录 一.Vue组件介绍 1.组件概述 2.组件使用步骤 3.实践练习 一.Vue组件使用 1.组件注册 2.组件注册语法糖 3.使用script或te ...

  4. .net core集成使用consul

    快速启动一个consul集群可以参考:使用docker快速部署一个consul集群 .net core集成使用consul是通过consul提供出来api接口来实现的,可以分成两个部分来说明:配置集成 ...

  5. BUG—Nuget包版本不一致导致程序行为与预期不符

    注:本文收录于<Bug集锦>,请点击此处查看全文目录 BUG起因 先介绍一下背景: 数周前的一个极其平常的下午,完成了本次迭代的开发工作,发布到QA提测,然后开始摸鱼.没几分钟,测试就来找 ...

  6. From Hero to Zero

    题目描述: 有一天,小明给了你两个数字n和k,现在,你需要对数字n进行一下操作: 对于每一步操作,你可以选择下面其中一个项目: 1.将n的值减少1. 2.如果n能被k整除,可以使n/k 比如:n=27 ...

  7. Python_使用smtplib+email完成邮件发送

    本文以第三方QQ邮箱服务器演示如何使用python的smtplib+email完成邮箱发送功能 一.设置开启SMTP服务并获取授权码 开启QQ邮箱SMTP服务 开启的最后一步是发送短信验证,获取 au ...

  8. win10 防火墙配置 允许局域网其他设备访问本地工程

    1.进入防护墙并找到高级设置 2.选择属性 3.将入站连接设为允许,有三个别忘了,[域配置文件,专用配置文件,公用配置文件]

  9. js 使用 substr 和substring 的区别记录

    根据 提示,已经很清楚区别了 区别都是第二个参数 ,substr 是长度 ,而substring 仍是索引数

  10. vue3.0获取地址栏参数

    方法一 toRaw(route).query.value 方法二 router.currentRoute.value.query