当前位置: 首页 > 面试题库 >

如何使用Spring注入JPA EntityManager

能文华
2023-03-14
问题内容

Spring 是否可以在entityManager不扩展的情况下将JPA
对象注入到我的DAO类中JpaDaoSupport?如果是,在这种情况下,Spring是否管理事务?

我试图使我的Spring配置尽可能简单:

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="em"/>
</bean>
<bean id="em" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="myPU"/>
</bean>

问题答案:

是的,尽管它充满了陷阱,但由于JPA有点特殊。在代码中没有显式的Spring依赖关系的情况下,非常值得阅读有关注入JPA
EntityManager和的文档EntityManagerFactory

http://static.springsource.org/spring/docs/3.0.x/spring-framework-
reference/html/orm.html#orm-
jpa

这使您可以注入EntityManagerFactory,或者EntityManager直接注入线程安全的事务性代理。后者使代码更简单,但意味着需要更多的Spring
Pipe。



 类似资料:
  • 问题内容: 如何在Spring中使用@Value批注将值从属性文件注入Map中? 我的Spring Java类是我尝试使用$,但收到以下错误消息 无法自动装配字段:私有 嵌套异常是:无法解析字符串值中的占位符 我在.properties文件中具有以下属性 问题答案: 我相信Spring Boot支持使用注释开箱即用地加载属性映射。 根据该文档,你可以加载属性: 像这样变成豆子: 我之前使用过@Co

  • 我们使用的是Spring Boot2。 我们想使用Spring Boot的刷新机制,但是由于一个bug我们不能使用,因此我们不得不用和替换所有这些。 所以我们用了: 例如,使用该YAML文件: null 但是我们不能使用其他类型的属性绑定,因为我们正在将这个应用程序部署到kubernetes中,并使用kubernetes的配置映射。 所以我们想知道,是否还有其他机会让与一起工作

  • 我有以下课程: 、 和 实现了一个通用接口。然后,在我的服务中,我自动连接类并获取地图。 有没有办法只自动连接地图,从而直接使用地图中的值?

  • 问题内容: 使用诸如 可以分配具有某些属性的某些字段。 是否有更短,更简洁的形式来执行此操作? 问题答案:

  • 问题内容: 如何在不使用调用的情况下使用Spring将依赖项注入? 问题答案: 由于Servlet 3.0 ServletContext具有“ addListener”方法,因此可以通过如下代码添加而不是在web.xml文件中添加侦听器: 这意味着你可以正常地注入“ MyHttpSessionListener”中,并且,只要你的应用程序上下文中存在bean,就会使侦听器注册到容器中