gpt4 book ai didi

java - ApplicationContextAware 在 Spring 3.0 中不起作用

转载 作者:行者123 更新时间:2023-11-29 07:47:54 25 4
gpt4 key购买 nike

我正在尝试一个简单的示例,但没有成功。

ApplicationContextHolder 类实现 Aware:

@Component
public class ApplicationContextHolder implements ApplicationContextAware {

private static ApplicationContext context;

@Override
public void setApplicationContext(ApplicationContext context)
throws BeansException {
this.context = context;
}

public static ApplicationContext getApplicationContext(){
return context;
}
}

App.java

public static void main( String[] args )
{
ApplicationContext context = ApplicationContextHolder.getApplicationContext();
// context in above line is coming as null
}

下面是我的 xml 条目:

<context:component-scan base-package="com.XXX" />

请告诉我为什么 contextApp.jaa 类中为 null。我是否需要为在 xml 文件中某处实现 Aware 的类创建一些条目?

最佳答案

你必须先初始化ApplicationContext

public static void main( String[] args )
{
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
// 'spring.xml' has to add ApplicationContextHolder to its scan path

ApplicationContext contextFromHolder =
ApplicationContextHolder.getApplicationContext();
}

关于java - ApplicationContextAware 在 Spring 3.0 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23918073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com