gpt4 book ai didi

java - 如何确定应用程序上下文中的对象?

转载 作者:行者123 更新时间:2023-12-02 08:36:08 24 4
gpt4 key购买 nike

我正在尝试为 Liferay 编写一个 portlet(使用 Tomcat 和 Spring),并且需要通过 Persistence API/Hibernate 使用数据库。我使用一些配置 XML(applicationContext.xml 等)和注释来实现这一点。例如

@Component @Scope("application")
public class SomeForm {
@PersistenceContext EntityManager entityManager;

目前,我遇到了一些 NullPointerExceptions 问题,在我看来,这是因为entityManager 没有绑​​定。但我并不是在寻求这个问题的答案,而是在寻求更广泛的主题:

是否有一种简单的方法可以检查运行时应用程序上下文中哪些对象可用(例如 PesistenceContext、SessionContext)并确定运行时对象如何绑定(bind)在应用程序上下文中?

最佳答案

您可以调用方法

getBeanDefinitionCount()
getBeanDefinitionNames()
getBeanNamesForType()
getBeansOfType()
getBean()

在应用程序上下文本身上检查它在运行时包含的 bean。

BeanFactoryUtils 类上还有等效的静态方法,如果您使用嵌套上下文,这些方法将考虑嵌套层次结构。

关于java - 如何确定应用程序上下文中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1713943/

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