欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解

 更新時間:2022年02月24日 11:27:13   作者:JeeLearner  
這篇文章主要介紹了往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

DAO類注入@PersistenceContext和@Resource區(qū)別

@PersistenceContext

private EntityManager em;

注入的是實體管理器,執(zhí)行持久化操作的,需要配置文件persistence.xml。

注入一堆保存實體類狀態(tài)的數(shù)據(jù)結構,針對實體類的不同狀態(tài)(四種,managedh或detached等)可以做出不同的反應(merge,persist等等),其實就是把數(shù)據(jù)從數(shù)據(jù)庫里提出,然后在內(nèi)存里處理的,再返回數(shù)據(jù)庫的法則。

@Resource

是注入容器提供的資源對象,比如SessionContext MessageDrivenContext?;蛘吣隳莻€name指定的JNDI對象

可以理解為資源->數(shù)據(jù)源->也就是數(shù)據(jù)連接,基本上就是告訴程序數(shù)據(jù)庫在哪里 

JPA中為什么EntityManager的注解要用@PersistenceContext

在使用SpringJPA的時候,看到如下代碼

 @PersistenceContext
 private EntityManager entityManager;

于是就有些好奇,這個@PersistenceContext是幾個意思,如果是實體注入的話,統(tǒng)一采用

@Autowired可以嗎?于是上網(wǎng)查了下,幾乎所有的EntityManager都是采用這個注解的,就去找了找原因。

根據(jù)上面的描述,總結如下

  • @PersistenceContext是jpa專有的注解,而@Autowired是spring自帶的注釋
  • EntityManager不是線程安全的,當多個請求進來的時候,spring會創(chuàng)建多個線程,@PersistenceContext就是用來為每個線程創(chuàng)建一個EntityManager的,而@Autowired只創(chuàng)建了一個,為所有線程共用,有可能報錯
  • 在使用EntityManager的時,請采用@PersistenceContext進行注解,而不要使用@Autowired

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java通過Freemarker模板實現(xiàn)生成Word文件

    Java通過Freemarker模板實現(xiàn)生成Word文件

    FreeMarker是一款模板引擎: 即一種基于模板和要改變的數(shù)據(jù), 并用來生成輸出文本的通用工具。本文將根據(jù)Freemarker模板實現(xiàn)生成Word文件,需要的可以參考一下
    2022-09-09
  • 淺談Java如何實現(xiàn)一個基于LRU時間復雜度為O(1)的緩存

    淺談Java如何實現(xiàn)一個基于LRU時間復雜度為O(1)的緩存

    這篇文章主要介紹了淺談Java如何實現(xiàn)一個基于LRU時間復雜度為O(1)的緩存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • springboot @Valid注解對嵌套類型的校驗功能

    springboot @Valid注解對嵌套類型的校驗功能

    這篇文章主要介紹了springboot~@Valid注解對嵌套類型的校驗,主要介紹 @Valid在項目中的使用,需要的朋友可以參考下
    2018-05-05
  • 使用Java實現(xiàn)DNS域名解析的簡單示例

    使用Java實現(xiàn)DNS域名解析的簡單示例

    這篇文章主要介紹了使用Java實現(xiàn)DNS域名解析的簡單示例,包括對一個動態(tài)IP主機的域名解析例子,需要的朋友可以參考下
    2015-10-10
  • Java多線程并發(fā)FutureTask使用詳解

    Java多線程并發(fā)FutureTask使用詳解

    Java?的多線程機制本質(zhì)上能夠完成兩件事情,異步計算和并發(fā),F(xiàn)utureTask?是基于?Runnable?實現(xiàn)的一個可取消的異步調(diào)用?API,本文給大家介紹Java?多線程并發(fā)FutureTask及基本使用,需要的朋友可以參考下
    2022-06-06
  • Spring boot 集成 Druid 數(shù)據(jù)源過程詳解

    Spring boot 集成 Druid 數(shù)據(jù)源過程詳解

    這篇文章主要介紹了Spring boot 集成 Druid 數(shù)據(jù)源過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • JAVA匿名內(nèi)部類語法分析及實例詳解

    JAVA匿名內(nèi)部類語法分析及實例詳解

    這篇文章主要介紹了JAVA匿名內(nèi)部類語法分析及實例詳解,匿名內(nèi)部類可以使你的代碼更加簡潔,它與局部類很相似,不同的是它沒有類名,如果某個局部類你只需要用一次,那么你就可以使用匿名內(nèi)部類。對此感興趣的可以了解一下
    2020-07-07
  • springboot加載復雜的yml文件獲取不到值的解決方案

    springboot加載復雜的yml文件獲取不到值的解決方案

    這篇文章主要介紹了springboot加載復雜的yml文件獲取不到值的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring Boot整合MyBatis操作過程

    Spring Boot整合MyBatis操作過程

    這篇文章主要介紹了Spring Boot整合MyBatis操作過程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-04-04
  • Spring.Net在MVC中實現(xiàn)注入的原理解析

    Spring.Net在MVC中實現(xiàn)注入的原理解析

    這篇文章主要介紹了Spring.Net在MVC中實現(xiàn)注入的原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09

最新評論