簡體   English   中英

了解spring xml注釋元數據嗎?

[英]understand spring xml annotation metadata?

<context:annotation-config/>
 <context:component-scan...

這用於我需要用@Repository @Service @Component注釋的類...

    <context:spring-configured />
<context:component-scan... 

如果我需要使用@Configurable,請使用

    <tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan...

如果我需要@Transactional,請使用,除此之外,我還需要在xml中添加其他哪些元數據才能使用事務管理?

<bean
        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

在xml中添加此內容有什么需要? 出於什么目的?

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

為了使用事務管理,您還需要聲明一個transactionManager來使用。 該聲明取決於您用來訪問數據的方法。 例如,對於純JDBC,您可以編寫:

<bean id = "transactionManager" class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name = "dataSource" ref = "dataSource" />
</bean>

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

此聲明用於處理JPA數據訪問配置的@PersistenceContext@PersistenceUnit批注。 此外, <context:annotation-config />也包含對此批注的支持,因此,如果使用<context:annotation-config />則無需顯式聲明它。

Spring JavaDoc

處理PersistenceUnit和PersistenceContext批注的BeanPostProcessor,用於注入相應的JPA資源EntityManagerFactory和EntityManager。 任何Spring托管對象中的任何此類帶注釋字段或方法都將自動注入。
如果帶注釋的字段或方法是這樣聲明的,則此后處理器將注入EntityManagerFactory和EntityManager的子接口。 除了共享的(“事務性”)EntityManager引用外,實際類型將盡早進行驗證,在該引用中,類型遲早可能會在首次實際調用時被檢測到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM