📜  获取 Spring 应用程序上下文 - Java (1)

📅  最后修改于: 2023-12-03 15:11:50.661000             🧑  作者: Mango

获取 Spring 应用程序上下文 - Java

在 Spring 框架中,应用程序上下文是一个重要的组件,它负责管理应用程序中的所有 bean 实例及其依赖关系。本文将介绍如何在 Java 中获取 Spring 应用程序上下文。

导入 Spring 包

要使用 Spring 应用程序上下文,首先需要在项目中导入 Spring 的相关包。可以通过 Maven,Gradle 或手动下载包的方式来导入。

如果使用 Maven,可以在 pom.xml 文件中加入以下依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.2.RELEASE</version>
</dependency>
获取应用程序上下文

在 Java 中获取 Spring 应用程序上下文很简单,只需要使用 ClassPathXmlApplicationContextFileSystemXmlApplicationContextXmlWebApplicationContext 等其中之一即可。

ClassPathXmlApplicationContext

ClassPathXmlApplicationContext 从类路径中加载 XML 配置文件,这种方式适合于加载普通 Java 项目。

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyApp {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    }
}
FileSystemXmlApplicationContext

FileSystemXmlApplicationContext 从指定的文件系统路径中加载 XML 配置文件,这种方式适合于加载 Web 项目。

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class MyApp {
    public static void main(String[] args) {
        FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("/WEB-INF/applicationContext.xml");
    }
}
XmlWebApplicationContext

XmlWebApplicationContext 根据指定的 Servlet 上下文从 Web 应用程序中加载 XML 配置文件,该方式只适用于 Web 项目。

import org.springframework.web.context.support.XmlWebApplicationContext;

public class MyServlet extends HttpServlet {
    private WebApplicationContext context;

    @Override
    public void init() throws ServletException {
        context = new XmlWebApplicationContext();
        ((XmlWebApplicationContext) context).setConfigLocation("/WEB-INF/applicationContext.xml");
        ((XmlWebApplicationContext) context).refresh();
    }
}
总结

在 Java 中获取 Spring 应用程序上下文非常简单,只需要使用 ClassPathXmlApplicationContextFileSystemXmlApplicationContextXmlWebApplicationContext 之一即可。无论是何种方式,都需要在项目中导入 Spring 相关包,以便能够使用 Spring 框架提供的功能。