1. 程式人生 > >Springboot常用註解大全一

Springboot常用註解大全一

springboot註解:
1、@Service: 註解在類上,表示這是一個業務層bean
2、@Controller:註解在類上,表示這是一個控制層bean
3、@Repository: 註解在類上,表示這是一個數據訪問層bean
4、@Component: 註解在類上,表示通用bean ,value不寫預設就是類名首字母小寫
5、@Autowired:按型別注入.預設屬性required= true;當不能確定 Spring 容器中一定擁有某個類的Bean 時, 可以在需要自動注入該類 Bean 的地方可以使用 @Autowired(required = false), 這等於告訴Spring:在找不到匹配Bean時也不丟擲BeanCreationException 異常。@Autowired 和 @Qualifier 結合使用時,自動注入的策略就從 byType 轉變byName 了。@Autowired可以對成員變數、方法以及建構函式進行註釋,而 @Qualifier 的標註物件是成員變數、方法入參、建構函式入參。正是由於註釋物件的不同,所以 Spring 不將 @Autowired 和 @Qualifier 統一成一個註釋類。
6、@Resource: 按名稱裝配

區別:
@Resource預設按照名稱方式進行bean匹配,@Autowired預設按照型別方式進行bean匹配
@Resource(importjavax.annotation.Resource;)是J2EE的註解,@Autowired(importorg.springframework.beans.factory.annotation.Autowired;)是Spring的註解

7、@Configuration:註解在類上,表示這是一個IOC容器,相當於spring的配置檔案,java配置的方式。 IOC容器的配置類一般與 @Bean 註解配合使用,用 @Configuration 註解類等價與 XML 中配置 beans,用@Bean 註解方法等價於 XML 中配置 bean。

8、@Bean: 註解在方法上,聲明當前方法返回一個Bean

9、@Scope:註解在類上,描述spring容器如何建立Bean例項。

(1)singleton: 表示在spring容器中的單例,通過spring容器獲得該bean時總是返回唯一的例項

(2)prototype:表示每次獲得bean都會生成一個新的物件

(3)request:表示在一次http請求內有效(只適用於web應用)

(4)session:表示在一個使用者會話內有效(只適用於web應用)

(5)globalSession:表示在全域性會話內有效(只適用於web應用)

在多數情況,我們只會使用singleton和prototype兩種scope,如果未指定scope屬性,預設為singleton
10、@Value:註解在變數上,從配置檔案中讀取。

例如:@Value(value = “#{message}”)

11、@ConfigurationProperties   賦值,將註解轉換成物件。給物件賦值。車險專案:HttpClientSetting類

12、@Profile:註解在方法類上在不同情況下選擇例項化不同的Bean特定環境下生效!!!!!!!!!!!!!!!!!
13、@SpringBootApplication:@[email protected][email protected][email protected]:約定優於配置

14、@EnableAutoConfiguration啟用 Spring 應用程式上下文的自動配置,試圖猜測和配置您可能需要的bean。自動配置類通常採用基於你的classpath 和已經定義的 beans 物件進行應用。被 @EnableAutoConfiguration 註解的類所在的包有特定的意義,並且作為預設配置使用。通常推薦將 @EnableAutoConfiguration 配置在 root 包下,這樣所有的子包、類都可以被查詢到。
15、@ComponentScan:註解在類上,掃描標註了@Controller等註解的類,註冊為bean 。@ComponentScan 為 @Configuration註解的類配置元件掃描指令。@ComponentScan 註解會自動掃描指定包下的全部標有 @Component註解的類,並註冊成bean,當然包括 @Component下的子註解@Service、@Repository、@Controller。 

16、@RestController @RestController 是一個結合了 @ResponseBody 和 @Controller 的註解
17、@Responsebody 註解表示該方法的返回的結果直接寫入 HTTP 響應正文(ResponseBody)中,一般在非同步獲取資料時使用,通常是在使用 @RequestMapping 後,返回值通常解析為跳轉路徑,加上@Responsebody 後返回結果不會被解析為跳轉路徑,而是直接寫入HTTP 響應正文中。

@RequestBody

@PathVariable

@RequestParam

兩者的作用都是將request裡的引數的值繫結到contorl裡的方法引數裡的,區別在於,URL寫法不同。

當請求引數username不存在時會有異常發生,可以通過設定屬性required=false解決,例如:

18、@RequestParam(value="username",required=false)

使用@RequestParam時,URL是這樣的:http://host:port/path?引數名=引數值

使用@PathVariable時,URL是這樣的:http://host:port/path/引數值

不寫的時候也可以獲取到引數值,但是必須名稱對應。引數可以省略不寫
19、@RequestMapping  和請求報文是做對應的   
  a:value,指定請求的地址 
  b:method 請求方法型別 這個不寫的話,自適應:get或者post
  c:consumes 請求的提交內容型別 
  d:produces 指定返回的內容型別 僅當request請求頭中的(Accept)型別中包含該指定型別才返回
  e: params 指定request中必須包含某些引數值 
  f:headers 指定request中必須包含指定的header值

g: name  指定對映的名稱  

 @RequestMapping(method = RequestMethod.GET)

 @RequestMapping(method = RequestMethod.POST)

 @RequestMapping(method = RequestMethod.PUT)

 @RequestMapping(method = RequestMethod.DELETE)

 當然也可以使用

 @GetMapping

 @PostMapping

 @PutMapping

 @DeleteMapping 這與上面的是一樣的效果

20、@EnablCaching @EnableCaching註解是spring framework中的註解驅動的快取管理功能。自spring版本3.1起加入了該註解。如果你使用了這個註解,那麼你就不需要在XML檔案中配置cache manager了。
21、@suppresswarnings 抑制警告
22、@Modifying 如果是增,改,刪加上此註解

1:方法的返回值應該是int,表示更新語句所影響的行數。

2:在呼叫的地方必須加事務,沒有事務不能正常執行。@Transactional  事務註解

@Query 自定義查詢語句 JPQL

JPA註解

23、@Entity:
24、@Table(name=“”):註解在類上表明這是一個實體類。一般用於jpa這兩個註解一般一塊使用,但是如果表名和實體類名相同的話,@Table可以省略

25、@Column:通過@Column註解設定,包含的設定如下 
name:資料庫表字段名 
unique:是否唯一 
nullable:是否可以為空 

Length:長度
inserttable:是否可以插入 
updateable:是否可以更新 
columnDefinition: 定義建表時建立此列的DDL 
secondaryTable: 從表名。如果此列不建在主表上(預設建在主表),該屬性定義該列所在從表的名字。 
@Column(name = "user_code", nullable = false, length=32)//設定屬性userCode對應的欄位為user_code,長度為32,非空     
private String userCode;     
@Column(name = "user_wages", nullable = true, precision=12,scale=2)//設定屬性wages對應的欄位為user_wages,12位數字可保留兩位小數,可以為空     
private double wages;  

26、@Id:表示該屬性為主鍵。

27、@Temporal(TemporalType.DATE)//設定為時間型別     
private Date joinDate; 

28、@Transient:表示該屬性並非一個到資料庫表的欄位的對映,ORM框架將忽略該屬性。如果一個屬性並非資料庫表的欄位對映,就務必將其標示為@Transient,否則,ORM框架預設其註解為@Basic。@Basic(fetch=FetchType.LAZY):標記可以指定實體屬性的載入方式

29、@JsonIgnore:作用是json序列化時將Java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

30、@JoinColumn(name=”loginId”):一對一:本表中指向另一個表的外來鍵。一對多:另一個表指向本表的外來鍵。

31、@OneToOne、@OneToMany、@ManyToOne:對應hibernate配置檔案中的一對一,一對多,多對一。

32、@GeneratedValue 用於標註主鍵的生成策略,通過 strategy 屬性指定。預設情況下,JPA 自動選擇一個最適合底層資料庫的主鍵生成策略:SqlServer 對應 identity,MySQL 對應 auto increment。 在 javax.persistence.GenerationType 中定義了以下幾種可供選擇的策略:

IDENTITY:採用資料庫 ID自增長的方式來自增主鍵欄位,Oracle 不支援這種方式;

AUTO: JPA自動選擇合適的策略,是預設選項;

SEQUENCE:通過序列產生主鍵,通過 @SequenceGenerator 註解指定序列名,MySql 不支援這種方式

TABLE:通過表產生主鍵,框架藉由表模擬序列產生主鍵,使用該策略可以使應用更易於資料庫移植。

相關推薦

Springboot常用註解大全

springboot註解: 1、@Service: 註解在類上,表示這是一個業務層bean 2、@Controller:註解在類上,表示這是一個控制層bean 3、@Repository: 註解在類上,表示這是一個數據訪問層bean 4、@Component: 註解在類上,表

Springboot常用註解大全

springboot註解:@Service: 註解在類上,表示這是一個業務層bean@Controller:註解在類上,表示這是一個控制層bean@Repository: 註解在類上,表示這是一個數據訪問層bean@Component: 註解在類上,表示通用bean ,val

Springboot的Controller中常用註解

@Controller和@RestController和@ResponseBody @Controller @Controller註解標註類的方法,return時會被檢視處理器識別成靜態檔案的路徑。預設為templates資料夾下。如return "test/hello"表示

springBoot常用註解使用大全(附:使用說明)

自述:近來在用springBoot,但又有很多註解只會用,並不知其含義,故整理此文章,以幫助更多正在使用springBoot的同學。。。說明:以下文章均來自網路各網際網路大神,,此教程並非官方,僅個人見

Springboot 常用註解

RF head rest服務 請求 false val bean api time @SpringBootApplication: 包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主類上。 很多Spri

spring和springboot常用註解總結

普通 map 組件 構造 sca service 提交 依賴 demo1 @RequestMapping 這個註解可以用於類和方法上,用於類上,表示父路徑,如類上是demo,方法上是/demo1,那麽訪問路徑就是demo/demo1 該註解有六個屬性:params:指定re

SpringBoot 常用註解(持續更新)

SpringBoot 常用註解 @SpringBootApplication @Bean @ComponentScan @ControllerAdvice @ExceptionHandler @ResponseBody @Qualifier 注入(@Autowired和@R

Linux常用命令大全()

Linux常用命令大全(一) 第一章 cal命令 $ cal 12 2017 :列出2017年12月的日曆 $ cal 10 :列出公元10年的日曆 $ cal 12 17 :列出公元17年12月的日曆 cat命令 cat>檔名:新建檔案 回車輸入內容 Ctrl+D 退

SpringBoot常用註解

bean的分類標識 @Service: 註解在類上,表示這是一個業務層bean @Controller:註解在類上,表示這是一個控制層bean @Repository: 註解在類上,表示這是一個數據訪問層bean @Component: 註解在類上,表示通用b

springboot常用註解的使用

Controller: @Controller:處理http請求 @RestController :返回json格式的資料。相當於@[email protected] @RequestMapping:配置URL對映 @PathVariable:獲取URL中的

SpringBoot常用註解解釋

  @SpringBootConfiguration:這是SpringBoot專案的配置註解,在Spring Boot專案中推薦使用@SpringBootConfiguration替代@Configuration; @EnableAutoConfiguration:啟用自動配

Springboot常用註解小結

@Autowired自動裝配註釋,作為:實現自動裝配,使用範圍:用在成員變數、方法以及建構函式上。用在類屬性上,可以免寫setter方法優點:可以免除在配置檔案中新增bean的注入資訊,等價於上下文通過ByType的方式,在配置檔案中查詢相應的bean,並注入到該類中。<

SpringBoot(二):SpringBoot常用註解介紹

@SpringBootApplication package com.lpl.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot

SpringBoot | 常用註解記錄

一、@PathVariable URL變數 在Web應用中URL通常不是一成不變的,例如微博兩個不同使用者的個人主頁對應兩個不同的URL: http://weibo.com/user1,http://

springBoot 常用@註解標籤

1.  @Service("/orgService")     2.  @SuppressWarnings("unused")   忽略警告。 3.  @Value("${cloudDir}")    內容注入。  2. 接收資料型別為json物件or form表單

SpringBoot 入門篇(二) SpringBoot常用註解以及自動配置

一、SpringBoot常用註解 二、SpringBoot自動配置機制 一、SpringBoot常用註解   在上一篇文章中https://blog.csdn.net/zhichao_qzc/article/details/806421

【ubuntu作業系統入門】Ubuntu常用命令大全

點評:Ubuntu常用命令大全,學習ubuntn系統的朋友可以收藏下,用ctrl+F查詢即可 一、檔案/資料夾管理 ls 列出當前目錄檔案(不包括隱含檔案)  ls -a 列出當前目錄檔案(包括隱含檔案)  ls -l 列出當前目錄下檔案的詳細資訊 

SpringBoot2.X (六):SpringBoot 常用註解簡單說明

@SpringBootApplication Spring Boot的專案一般都會有*Application的入口類,入口類中會有main方法,這是一個標準的Java應用程式的入口方法。 @Spr

二、Springboot 常用註解

nal tom home hex 我們 nco classpath bean 附加 @SpringBootApplication: ??包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主類上。??很多S

SpringBoot常用註解總結

可用 單例模式 post utm 簡單 路徑 利用 span 一個 在SpringBoot框架中,註解做為一種隱式配置,極大的簡化了之前xml文件的配置方式。SpringBoot中包含許多種類的註解,這裏對在SpingBoot項目中經常使用到的一些註解的進行大致的歸納總結;