作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在应用程序启动时将一些数据加载到我的数据库中。我有一个为此目的定义的 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
但是使用原始类型不是一个好习惯,所以我想切换
我怎样才能让它发挥作用?
Spring 版本:3.1
最佳答案
我过去已经通过将组件扫描定义移动到应用程序上下文的末尾来解决这个问题,如建议的 here 所示。
关于java - 如何在 Spring 应用程序启动时调用自定义数据加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283058/
我是一名优秀的程序员,十分优秀!