java - 是否有推荐的方法让 Spring 2.5+ Autowiring Hibernate 域对象

标签 java hibernate spring orm inversion-of-control

是否有推荐的方法让 Spring 2.5+ Autowiring Hibernate (3.0+) 域对象。我意识到有一种方法可以使用 AspectJ (@Configurable) 来执行此操作,但我想避免引入 AspectJ。

一些谷歌搜索发现this DependencyInjectionInterceptorFactoryBean class但它似乎只存在于沙箱中(并且只存在于 2.0.x 中?)。

我可以创建一个 10 行的 Hibernate PreLoadEventListener 来为我做这个 Autowiring ,但我真的假设它会是 org.springframework.orm.hibernate3 提供的东西.

最佳答案

为超出 Spring 控制范围的实例提供依赖项注入(inject)的推荐方法是使用您提到的基于 AspectJ 的解决方案。据我所知,Hibernate 特定的类已被放弃,取而代之的是描述的一般方法 here .

另请注意,如果您使用 AbstractInterfaceDrivenDependencyInjectionAspect,则不需要 @Configurable。如您所说,您需要将 AspectJ 用于加载时或编译时织入。作为一个好处,您将获得针对“极端情况”(如反序列化)的依赖注入(inject)以及该方法。

有关如何实现和集成 Ramnivas 建议的模式的综合示例,请查看 here .

关于java - 是否有推荐的方法让 Spring 2.5+ Autowiring Hibernate 域对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/490354/

相关文章:

java - 在 Weblogic 12.1.3 上找不到文件 metro-default.xml

java - Xodus:是否有键和/或值的最大长度?

java - 什么是 Hibernate 业务对象? DTO?

java - Spring Security 不接受正确的凭据

Spring - 使用 "JDBCTemplate": The method "X" refers to the missing type DataAccessException 时出错

java - ArrayList 与 if else 比较

java - 如何在 scala 中用其不可变的 couterpart 替换 java 可变类?

java - Spring boot 项目中定义的全局变量和应用程序变量

java - 如何指定嵌入属性中的属性?

java - 作为 hibernate POJO 的 native SQL 结果