Spring @controller,@service,@repository,@component區別
阿新 • • 發佈:2019-01-01
今天在做課設的時候發現SpringBoot一直用不了Service層的類。。記得有個@component服註解,百度這個註解的時候,發現了一個新大陸(關於@controller,@service,@repository,@component區別),這解決了我學SSM的一個困惑,特此分享。
原文地址:https://blog.csdn.net/weixin_37848710/article/details/79609130
1、@controller 控制器(注入服務)
用於標註控制層,相當於struts中的action層
2、@service 服務(注入dao)
用於標註服務層,主要用來進行業務的邏輯處理
3、@repository(實現dao訪問)
用於標註資料訪問層,也可以說用於標註資料訪問元件,即DAO元件.
4、@component (把普通pojo例項化到spring容器中,相當於配置檔案中的 <bean id="" class=""/>)
泛指各種元件,就是說當我們的類不屬於各種歸類的時候(不屬於@Controller、@Services等的時候),我們就可以使用@Component來標註這個類。
說明:
<context:component-scan base-package=”com.*”>
上面的這個例子是引入Component元件的例子,其中base-package表示為需要掃描的所有子包。
共同點:被@controller 、@service、@repository 、@component 註解的類,都會把這些類納入進spring容器中進行管理