- @Repository
用於標注數據訪問組件,即DAO組件。
使用@Repository注解可以確保DAO或者repositories提供異常轉譯,這個注解修飾的DAO或者repositories類會被ComponetScan發現並配置,同時也不需要為它們提供XML配置項。
可以理解為加入該注解的類會被自動注入到spring容器中進行管理。
- @Service
一般用於修飾service層的組件,可以理解為加入該注解的類會被自動注入到spring容器中進行管理。
- @Controller
@Controller表示在tomcat啟動的時候,把這個類作為一個控制器加載到Spring的Bean工廠,如果不加,就是一個普通的類,和Spring沒有半毛錢關系。其中,base-package表示會掃描com.blogMgr目錄下所有的包,一旦發現有個類上面加了類似於@Controller的注解,在容器啟動的時候系統就會把它加載到Spring的Bean工廠,並且對其實例化。這也是為什么我們只是寫了Controller,但是從來沒有在一個地方new這個Controller的原因,因為在Web容器啟動的時候,這個Controller已經被Spring加載到自己的Bean工廠里面去了。這也就是所謂的Spring掃包機制。@Controller就是一個注解,當tomcat啟動,我們會看到一些JAVA類揮舞着印有@Controller的旗子大喊:" Hey,SpringMVC,I'm here,please take me to your bean factory!"
- @Component
泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注,也是把該類加入到Spring容器進行管理
- @Bean
相當於XML中的<bean></bean>,放在方法的上面,而不是類,意思是產生一個bean,並交給spring管理。