[Spring实战系列](5)Spring应用上下文

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/50618337 下面是Spring-Hello-world项目的运行代码:package com.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/50618337

下面是Spring-Hello-world项目的运行代码:
 
   
package com.sjf.bean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 测试类
* @author sjf0115
*
*/
public class Test {
private static ApplicationContext context;
private static HelloWorld helloWorld;
public static void main(String[] args) {
// 1. 创建Spring IOC容器
context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 2. 从IOC容器中获取Bean实例
helloWorld = (HelloWorld)context.getBean("helloworld");
// 3.调用sayHello方法
helloWorld.sayHello();
}
}

从代码中可以看出使用Spring框架的第一步就是使用Spring应用上下文创建Spring IOC容器:
 
   
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
因此下面我们就说明一下Spring应用 上下文的事情。

Spring 自带了几种类型的应用上下文:

Spring上下文 描述
ClassPathXmlApplicationContext 类路径下的XML 配置文件中加载上下文定义,把应用上下文定义文件当作类资源。
FileSystemXmlapplicationcontext 读取文件系统下的XML 配置文件并加载上下文定义。
XmlWebApplicationContext 读取Web 应用下的XML 配置文件并装载上下文定义。

我们会在以后慢慢说明基于Spring 的Web 应用,届时我们将对XmlWebApplicationContext进行详细解释。现在我们先简单地使用FileSystemXmlApplicationContext从文件系统中加载应用上下文或者使用ClassPathXmlApplicationContext从类路径中加载应用上下文。

无论是从文件系统中装载应用上下文还是从类路径下装载应用上下文,将Bean加载到Bean 工厂的过程都是相似的。例如,如下代码展示了如何加载一个File-SystemXmlApplicationContext:
 
   
ApplicationContext context = new FileSystemXmlApplicationContext("d:/applicationContext.xml");

类似地,你可以使用ClassPathXmlApplicationContext 从应用的类路径下加载应用上下文:
 
   
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

使用FileSystemXmlApplicationContext 和使用ClassPathXmlApplicationContext的 区别在于
  • FileSystemXmlApplicationContext 在指定的文件系统路径下查找applicationContext.xml 文件;
  • ClassPathXmlApplicationContext 是在所有的类路径(包含JAR 文件)下查找applicationContext.xml.xml 文件。


下图表示了我以前写applicationContext.xml存放位置的两种方式:




之前还表示对applicationContext.xml存放位置表示疑惑,难道只凭一个名字就能找到它?现在终于明白了, ClassPathXmlApplicationContext 是在所有的类路径(包含JAR 文件)下查找 applicationContext.xml .xml 文件,所以以上两种方式Spring IOC容器都能找到。

通过现有的应用上下文引用,你可以调用应用上下文的getBean() 方法从Spring 容器中获取Bean。
 
   
// 2. 从IOC容器中获取Bean实例
helloWorld = (HelloWorld)context.getBean("helloworld");



目录
相关文章
|
10月前
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
11月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1489 3
|
10月前
|
SQL Java 数据库连接
Spring Data JPA 技术深度解析与应用指南
本文档全面介绍 Spring Data JPA 的核心概念、技术原理和实际应用。作为 Spring 生态系统中数据访问层的关键组件,Spring Data JPA 极大简化了 Java 持久层开发。本文将深入探讨其架构设计、核心接口、查询派生机制、事务管理以及与 Spring 框架的集成方式,并通过实际示例展示如何高效地使用这一技术。本文档约1500字,适合有一定 Spring 和 JPA 基础的开发者阅读。
911 0
|
9月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1388 2
Spring Boot 3.x 微服务架构实战指南
|
9月前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
9月前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
793 8
|
10月前
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
543 0
探索Spring Boot的@Conditional注解的上下文配置
|
11月前
|
Java 应用服务中间件 开发者
Spring Boot 技术详解与应用实践
本文档旨在全面介绍 Spring Boot 这一广泛应用于现代企业级应用开发的框架。内容将涵盖 Spring Boot 的核心概念、核心特性、项目自动生成与结构解析、基础功能实现(如 RESTful API、数据访问)、配置管理以及最终的构建与部署。通过本文档,读者将能够理解 Spring Boot 如何简化 Spring 应用的初始搭建和开发过程,并掌握其基本使用方法。
759 2
|
11月前
|
人工智能 监控 安全
如何快速上手【Spring AOP】?核心应用实战(上篇)
哈喽大家好吖~欢迎来到Spring AOP系列教程的上篇 - 应用篇。在本篇,我们将专注于Spring AOP的实际应用,通过具体的代码示例和场景分析,帮助大家掌握AOP的使用方法和技巧。而在后续的下篇中,我们将深入探讨Spring AOP的实现原理和底层机制。 AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的核心特性之一,它能够帮助我们解决横切关注点(如日志记录、性能统计、安全控制、事务管理等)的问题,提高代码的模块化程度和复用性。