0

Liferay (Tomcat と Spring を使用) 用のポートレットを作成しようとしていますが、Persistence API/Hibernate を介してデータベースを使用する必要があります。それを実現するために、いくつかの構成 XML (applicationContext.xml など) と注釈を使用しています。例えば

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

現時点では、entityManager がバインドされていないために発生する NullPointerExceptions に問題があります。しかし、私はその問題に対する答えを求めているのではなく、より広いトピックに対する答えを求めています。

実行時にアプリケーション コンテキストで使用できるオブジェクト (PesistenceContext、SessionContext など) を確認し、実行時にアプリケーション コンテキストでオブジェクトがどのようにバインドされているかを判断する簡単な方法はありますか?

4

1 に答える 1

2

メソッドを呼び出すことができます

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

アプリケーションコンテキスト自体で、実行時に含まれる Bean を検査します。

BeanFactoryUtilsクラスには、ネストされたコンテキストを使用している場合にネスト階層を考慮に入れる同等の静的メソッドもあります。

于 2009-11-11T10:07:44.250 に答える