Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 理解SpringXML注释元数据?_Java_Spring_Transactions_Annotations - Fatal编程技术网

Java 理解SpringXML注释元数据?

Java 理解SpringXML注释元数据?,java,spring,transactions,annotations,Java,Spring,Transactions,Annotations,为了使用事务管理,您还需要声明要使用的transactionManager。该声明取决于访问数据的方法。例如,对于普通JDBC,您可以编写: <tx:annotation-driven transaction-manager="transactionManager" /> 此声明用于处理JPA数据访问配置的@PersistenceContext和@PersistenceUnit注释。howewer,对该注释的支持也包含在中,因此,如果使用的是 处理Persistence

为了使用事务管理,您还需要声明要使用的transactionManager。该声明取决于访问数据的方法。例如,对于普通JDBC,您可以编写:

<tx:annotation-driven transaction-manager="transactionManager" /> 



此声明用于处理JPA数据访问配置的@PersistenceContext和@PersistenceUnit注释。howewer,对该注释的支持也包含在
中,因此,如果使用的是

处理PersistenceUnit和PersistenceContext注释的BeanPostProcessor,用于注入相应的JPA资源EntityManager工厂和EntityManager。任何Spring托管对象中的任何此类带注释的字段或方法都将自动注入。 如果注释字段或方法被声明为EntityManagerFactory和EntityManager,则此后处理器将注入子接口。除了共享(“事务性”)EntityManager引用之外,实际类型将在早期进行验证,在该引用中,可能会在第一次实际调用时检测到类型不匹配。
    <context:spring-configured />
<context:component-scan... 
    <tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan...
<bean
        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<tx:annotation-driven transaction-manager="transactionManager" /> 
<bean id = "transactionManager" class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name = "dataSource" ref = "dataSource" />
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />