You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XML配置定义中获取ApplicationContext,对应@Autowired的等效写法?

等效XML配置实现方案

你可以通过两种无注解的方式实现ApplicationContext的注入,无需依赖@Autowired注解:

方法1:直接配置属性注入(无需修改类结构,最简单)

Spring容器会默认注册一个id为applicationContext的内置Bean,直接在你的目标Bean的XML配置中通过属性引用注入即可。
首先在类中提供对应属性的setter方法:

private ApplicationContext appContext;
// 必须提供对应setter方法,XML注入依赖setter实现
public void setAppContext(ApplicationContext appContext) {
    this.appContext = appContext;
}

XML配置写法如下:

<bean id="yourBean" class="com.yourpackage.YourBeanClass">
    <property name="appContext" ref="applicationContext"/>
</bean>

方法2:实现ApplicationContextAware接口(Spring官方推荐标准方式)

让你的目标Bean实现org.springframework.context.ApplicationContextAware接口,Spring会自动检测该接口实现类,主动将ApplicationContext实例注入。
类的写法:

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class YourBeanClass implements ApplicationContextAware {
    private ApplicationContext appContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) {
        this.appContext = applicationContext;
    }
}

XML中仅需正常注册该Bean即可,无需额外配置注入属性:

<bean id="yourBean" class="com.yourpackage.YourBeanClass"/>

内容的提问来源于stack exchange,提问作者boucekv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:15:08