日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三层加过的注释java_spring框架中三层架构相关的注解

發布時間:2025/3/11 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层加过的注释java_spring框架中三层架构相关的注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

做了這么多年的C++,再去學Java,確實發現,語言都是相通的,即使是Java的那么多生態,理解起來也并不費勁

Spring 框架目前還在學習中,處于 Tourist 階段,目前只求會做,不求原理,等到項目經驗豐富,運用熟練,再回頭來研究原理

1、說明

springmvc 框架中將業務功能分成了經典的三層:持久層、業務層和控制層,框架中分別使用 @Repository、@Service 和 @Controller 注解來表示各層,使用 @Component 注解對不好分層的類進行注解修飾

這四個注解的作用除了閱讀時分層之外,最重要的是,被其修飾的類會被spring框架掃描并注入到bean容器中,使用時,只需要使用裝配的方式獲取對象即可

這四個注解都有一個屬性 value,該屬性的作用在 spring 中,用于根據此值獲取注入對象,springboot 中,可以使用 @Autowired 注解自動裝配,所以此屬性用處不大

2、@Repository

顧名思義,@Repository 表示一些持久層的組件,用于標注數據庫訪問的 DAO 組件

其內部會封裝一些 不涉及具體業務邏輯 的基本的數據庫操作,例如根據某個字段查找、添加、刪除,封裝數據庫query索引等

@Repository 注解標記在類上

一般用法如下:

先定義一個接口,聲明基本的接口方法;

添加接口實現類,實現這些接口,@Repository 注解修飾實現類;

示例:

public interface ProductRepository{

public Product findById(Long id);

}

@Repository

public ProductRepositoryImpl implements ProductRepository{

public Product findById(Long id){

//實現方法

}

}

3、@Service

屬于業務邏輯層,其內部方法 包含具體的業務邏輯,一般稱之為 service層 或者 manager層

service層類的內部一般會通過注入的方式得到repository層的對象,進而進行一些復雜的業務邏輯處理

@Service 注解標記在類上

4、@Controller

controller 作為MVC的C層,用于分發前端的請求,其內部一般會使用注入的方式得到 service 層對象,進行一些請求分發處理

@Controller 標記在類上,表示此類是一個controller,其內部的方法用于接受請求,具體的請求方式使用 @RequestMapping 等注解進行映射

4.1、 @RestController

@RestController 注解的效果等同于 @Controller + @ResponseBody

使用 @RestController 后,controller 方法返回 java 對象,就不再需要使用 @ResponseBody 注解轉換

5、@Component

@Component 一般用于組件,一些需要使用 spring 的依賴注入功能,但是又不好分層的類,可以使用此注解

總結

以上是生活随笔為你收集整理的三层加过的注释java_spring框架中三层架构相关的注解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。