gpt4 book ai didi

java - 使用@SpringBean 将 ApplicationContext 注入(inject) Wicket 组件失败

转载 作者:搜寻专家 更新时间:2023-11-01 01:37:02 24 4
gpt4 key购买 nike

我有一个使用 Wicket 的 Spring 项目。我可以使用 @SpringBean 注释成功地将服务注入(inject) Wicket 组件。

现在,我想访问 Spring Application Context。所以我声明了一个 ApplicationContext 类型的成员变量,并用 @SpringBean 注释它,就像其他服务一样:

尝试使用@SpringBean注入(inject)应用

public class MyPanel extends Panel {

@SpringBean
private ApplicationContext applicationContext;

...
}

然而,在运行时,这给出了错误

bean of type [org.springframework.context.ApplicationContext] not found

难道不能将 ApplicationContext 注入(inject)到 Wicket 组件中吗?如果是这样,什么是访问 ApplicationContext 的合适方法?

最佳答案

ApplicationContext 应该可以在您的应用程序类中访问。

ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);

在您的应用程序类中创建一个 getApplicationContext 方法。

public class MyApplication extends WebApplication {

public ApplicationContext getAppCtx() {
return WebApplicationContextUtils.getWebApplicationContext(servletContext);
}

}

可以从任何 wicket 组件访问应用程序对象。

public class MyPanel extends Panel {

public MyPanel(String id) {
...
ApplicationContext appCtx = ((MyApplication) getApplication()).getAppCtx();
...
}
}

关于java - 使用@SpringBean 将 ApplicationContext 注入(inject) Wicket 组件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823225/

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