アプリケーションの起動時に、DB にデータをロードしようとしています。この目的のために定義されたBeanがあります
applicationContext.xml
<bean class="com.project.loader.DataLoader"
id="DataLoader"
depends-on="entityManagerFactory"
scope="singleton"/>
クラス:
@RooJavaBean
@RooConfigurable
public class DataLoader implements InitializingBean
それは実行されていますが、最初のpersist()メソッドが呼び出されると、Springは次のエラーをスローします:
Caused by: java.lang.IllegalStateException: Entity manager has not been injected (is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)
at com.project.lib.model.extensions.i18n.Locale_Roo_Jpa_ActiveRecord.entityManager_aroundBody0(Locale_Roo_Jpa_ActiveRecord.aj:19)
at com.project.lib.model.extensions.i18n.Locale_Roo_Jpa_ActiveRecord.ajc$interMethod$com_project_lib_model_extensions_i18n_Locale_Roo_Jpa_ActiveRecord$com_project_lib_model_extensions_i18n_Locale$entityManager(Locale_Roo_Jpa_ActiveRecord.aj:1)
at com.project.lib.model.extensions.i18n.Locale.entityManager(Locale.java:1)
以前は、次の方法で DataLoader を定義したときに機能していました。
@Component
@Configurable
public class DataLoader implements ApplicationListener
しかし、生の型を使用することは良い習慣ではないので、切り替えたいと思います
どうすればそれを機能させることができますか?
春のバージョン: 3.1