天天看點

SpringMVC常用注解@Controller,@Service,@repository等

這兩天公司在做一個網站項目,架構使用的是springMVC架構,在這裡對這幾個注解做一個歸納整理

項目中的controller層使用@controller注解

SpringMVC常用注解@Controller,@Service,@repository等

@Controller 用于标記在一個類上,使用它标記的類就是一個SpringMVC Controller 對象。分發處理器将會掃描使用了該注解的類的方法。通俗來說,被Controller标記的類就是一個控制器,這個類中的方法,就是相應的動作。

@RequestMapping是一個用來處理請求位址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應請求的方法都是以該位址作為父路徑。比如圖一中,跳轉到登入頁面的路徑就是localhost:8080/xxx-war/user/toLogin

service采用@service注解

SpringMVC常用注解@Controller,@Service,@repository等

例:@Service(“userService”)注解是告訴Spring,當Spring要建立UserServiceImpl的的執行個體時,bean的名字必須叫做”userService”,這樣當Action需要使用UserServiceImpl的的執行個體時,就可以由Spring建立好的”userService”,然後注入給Action。

dao層使用@repository注解

SpringMVC常用注解@Controller,@Service,@repository等

@Repository(value=”userDao”)注解是告訴Spring,讓Spring建立一個名字叫“userDao”的UserDaoImpl執行個體。

當Service需要使用Spring建立的名字叫“userDao”的UserDaoImpl執行個體時,就可以使用@Resource(name = “userDao”)注解告訴Spring,Spring把建立好的userDao注入給Service即可。

@Autowired可以對成員變量、方法和構造函數進行标注,來完成自動裝配的工作,我們也要清楚,@Autowired是根據類型進行自動裝配的。

mapper層使用@Component注解

SpringMVC常用注解@Controller,@Service,@repository等

總結一下:

@Controller 用于标記在一個類上,使用它标記的類就是一個SpringMVC Controller 對象。分發處理器将會掃描使用了該注解的類的方法。通俗來說,被Controller标記的類就是一個控制器,這個類中的方法,就是相應的動作。

1、@controller 控制器(注入服務)

2、@service 服務(注入dao)

3、@repository dao(實作dao通路)

4、@component (把普通pojo執行個體化到spring容器中,相當于配置檔案中的)