プログラムで AnnotationConfigApplicationContext を作成しようとしています。構成クラスのリストと、Spring XML ファイルに含まれるプロパティ ファイルのリストを取得しています。
そのファイルを使用して、XmlBeanDefinitionReader を使用し、すべての @Configuration 定義を正常にロードできます。しかし、プロパティを読み込めません。
これは、プロパティをロードするために私がやっていることです..
PropertiesBeanDefinitionReader propReader = new PropertiesBeanDefinitionReader(ctx);
for (String propFile : propertyFiles) {
propReader.loadBeanDefinitions(new ClassPathResource(propFile));
}
コードは問題なく実行されますが、ctx.refresh() を呼び出すと、例外がスローされます。
Caused by: java.lang.IllegalStateException: No bean class specified on bean definition
at org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass(AbstractBeanDefinition.java:381)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:54)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)
上記のプロパティをプログラムでロードしないと、すべてのクラスがクラスパスで利用可能になります (プロパティをロードするために他の方法を使用しているため)。
ここで何が間違っているのかわかりません。何か案は?ありがとう。