Spring容器技术

简介: Spring容器技术

1. Spring核心容器介绍


问题导入


问题:按照Bean名称获取Bean有什么弊端,按照Bean类型获取Bean有什么弊端?


1.1 创建容器


方式一:类路径加载配置文件


ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");


方式二:文件路径加载配置文件


ApplicationContext ctx = new FileSystemXmlApplicationContext("D:\\applicationContext.xml");


加载多个配置文件


ApplicationContext ctx = new ClassPathXmlApplicationContext("bean1.xml", "bean2.xml");



1.2 获取bean对象


方式一:使用bean名称获取

弊端:需要自己强制类型转换


BookDao bookDao = (BookDao) ctx.getBean("bookDao");


方式二:使用bean名称获取并指定类型

推荐使用


BookDao bookDao = ctx.getBean("bookDao", BookDao.class);


方式三:使用bean类型获取

弊端:如果IOC容器中同类型的Bean对象有多个,此处获取会报错


BookDao bookDao = ctx.getBean(BookDao.class);


1.3 容器类层次结构


7f993ad00cdd938253ff81571a377027_2a55d864c8a0accb1c286efc4948510a.png


1.4 BeanFactory


类路径加载配置文件


Resource resources = new ClassPathResource("applicationContext.xml");
BeanFactory bf = new XmlBeanFactory(resources);
BookDao bookDao = bf.getBean("bookDao", BookDao.class);
bookDao.save();

BeanFactory创建完毕后,所有的Bean均为延迟加载,也就是说我们调用getBean()方法获取Bean对象时才创建Bean对象并返回给我们


2. Spring核心容器总结


2.1 容器相关


BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载

ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载

ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能

ApplicationContext接口常用初始化类

ClassPathXmlApplicationContext(常用)

FileSystemXmlApplicationContext


2.2 bean相关


dfbcc2265507dac4e2734b2f71a0f2f3_104591b413363ee032f47a4de5d0e68f.png


2.3 依赖注入相关


87bf50667a4c65237cc568c4241ee4b8_6e4a28b97a8035f25bfb254c4fb3af1b.png

相关文章
|
18天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
20天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
24天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
302 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
16天前
|
安全 持续交付 云计算
揭秘云计算中的容器化技术及其优势
揭秘云计算中的容器化技术及其优势
23 1
|
17天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
19天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
20天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
21天前
|
存储 Kubernetes 调度
基于容器化技术的性能优化实践
基于容器化技术的性能优化实践
29 3
|
13天前
|
Kubernetes Linux Docker
容器化技术Docker入门与实践
容器化技术Docker入门与实践
39 0
|
20天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术