@Service :一般做用在業務層,可是目前該功能與 @Component 相同。html
@Repository 持久層 該註解的做用不僅是將類識別爲Bean,同時它還能將所標註的類中拋出的數據訪問異常封裝爲 Spring 的數據訪問異常類型。 Spring自己提供了一個豐富的而且是與具體的數據訪問技術無關的數據訪問異常結構,用於封裝不一樣的持久層框架拋出的異常,使得異常獨立於底層的框架。spring
@Controller:在SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發的請求,它把用戶請求的數據通過業務處理層處理以後封裝成一個Model ,而後再把該Model 返回給對應的View 進行展現。在SpringMVC 中提供了一個很是簡便的定義Controller 的方法,你無需繼承特定的類或實現特定的接口,只需使用@Controller 標記一個類是Controller ,而後使用@RequestMapping 和@RequestParam 等一些註解用以定義URL 請求和Controller 方法之間的映射,這樣的Controller 就能被外界訪問到。此外Controller 不會直接依賴於HttpServletRequest 和HttpServletResponse 等HttpServlet 對象,它們能夠經過Controller 的方法參數靈活的獲取到。數據庫
@GetMapping:Spring4.3中引進了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},來幫助簡化經常使用的HTTP方法的映射,並更好地表達被註解方法的語義。以@GetMapping爲例,Spring官方文檔說:@GetMapping是一個組合@RequestMapping(method = RequestMethod.GET)的縮寫。該註解將HTTP Get 映射到 特定的處理方法上。json
produces = "application/json":@RequestMapping(value = "/produces", produces = "application/json"):表示將功能處理方法將生產json格式的數據,此時根據請求頭中的Accept進行匹配,如請求頭「Accept:application/json」時便可匹配;@RequestMapping(value = "/produces", produces = "application/xml"):表示將功能處理方法將生產xml格式的數據,此時根據請求頭中的Accept進行匹配,如請求頭「Accept:application/xml」時便可匹配。此種方式相對使用@RequestMapping的「headers = "Accept=application/json"」更能代表你的目的。app
@ResponseBody:該註解用於將Controller的方法返回的對象,經過適當的HttpMessageConverter轉換爲指定格式後,寫入到Response對象的body數據區。使用時機:返回的數據不是html標籤的頁面,而是其餘某種格式的數據時(如json、xml等)使用;那麼只需刪除註解:@ResponseBody 即可以返回頁面pay/success.jsp。並且達到了與客戶端後臺交互的效果。框架
@RestController:返回string或者json的話就直接用@RestController。若是想要頁面跳轉的話,就使用@Controller。一開始就有個疑問,就是我想在一個類中既能返回string或者json又能進行頁面跳轉怎麼辦。簡單說來@RestController = @Controller + @ResponseBody。因此,之後定義controller的時候,能夠直接使用@Controller,若是須要返回json能夠直接在方法中添加@ResponseBody便可。jsp
@Transient: 該註解,是Hibernate等框架的註解。 實體類中使用了@Table註解後,想要添加表中不存在字段,就要使用@Transient這個註解了。spa
@Table:@Entity註釋指名這是一個實體Bean,@Table註釋指定了Entity所要映射帶數據庫表,其中@Table.name()用來指定映射表的表名。若是缺省@Table註釋,系統默認採用類名做爲映射表的表名。實體Bean的每一個實例表明數據表中的一行數據,行中的一列對應實例中的一個屬性。component
@component (把普通pojo實例化到spring容器中,至關於配置文件中的<bean id="" class=""/>)xml
@Autowired:採用類型的方式完成自動裝配
@Resource:採用名稱+類型的方式完成自動裝配(比較保險)