SpringBoot2.x系列教程之 SpringBoot常用註解彙總
隨著Spring及Spring Boot的發展,基於Java的配置已經慢慢替代了基於xml的配置形式。本篇文章為大家整理和簡介Spring Boot中常用的註解及其功能。
SpringBoot註解
@SpringBootApplication:開啟Spring Boot自動配置的核心註解,相關等同於@Configuration,@EnableAutoConfiguration和@ComponentScan三個註解同時使用。
@EnableAutoConfiguration:SpringBoot自動配置開啟註解。開啟之後,會嘗試根據新增到classpath中jar依賴自動配置相關元件。是Spring Boot自動配置機制的核心註解之一。
@ConditionalOnXXXX:Spring Boot基於@Conditional擴充套件出的衍生註解,根據是否滿足某一個特定條件來決定是否載入指定的Bean。比如擴充套件出的註解有:@ConditionalOnBean、@ConditionalOnClass等。
@ConfigurationProperties:基於型別安全的屬性配置注入,可以將properties屬性和一個Bean及其屬性關聯,從而實現型別安全配置。
Spring基礎註解
@Conditional:是Spring Boot中大量使用的註解之一,它可以根據是否滿足某一個特定條件來決定是否載入指定的Bean。
@ComponentScan:該註解預設會掃描該類所在的包下所有的配置類,相當於xml中的context:component-scan。如果掃描到有@Component、@Controller、@Service等註解的類,將其註冊為Bean,也可以自動收集所有的Spring元件,包括@Configuration類。Spring Boot中會掃描啟動類所在包下以及子包下的使用了以上註解的類。
@Configuration:用於定義配置類,可替換xml配置檔案,被註解的類內部包含有一個或多個被@Bean註解的方法。
@Profile:提供了一種隔離應用程式配置的方式,並讓這些配置只能在特定的環境下生效。任何@Component或@Configuration都能被@Profile標記,從而限制載入它的時機。
@Import:用來匯入其他配置類,作用就是和xml配置的import標籤作用一樣,允許透過它引入@Configuration註解的類(java config),Spring4.2以後也可以匯入普通的Java並將其宣告為一個bean。
@ImportResource:用來匯入一個傳統的xml配置檔案。
@Autowired:自動匯入依賴的bean,可以對類成員變數、方法及建構函式進行標註,完成自動裝配的工作。與@Resource功能相似,但預設根據型別進行自動裝配的,如果需要按名稱進行裝配,則需要配合@Qualifier。
@Service:一般用於標註業務層元件,表示定義一個bean,自動根據bean的類名例項化一個首寫字母為小寫的bean。
@Component:泛指元件,當元件不好歸類的時候,可以使用這個註解進行標註。
@Repository:持久層元件,用於標註資料訪問元件,即DAO元件。
@Bean:用@Bean標註方法等價於XML中配置的bean。
@Value:將配置檔案中key對應的值賦值給它標註的屬性。
@Inject:是JSR330中的規範,等價於預設的@Autowired。根據型別進行自動裝配的,如果需要按名稱進行裝配,則需要配合@Named。
@Bean:相當於XML中的,放在方法的上面,而不是類,意思是產生一個bean,並交給spring管理。
@AutoWired:自動匯入依賴的bean。byType方式。把配置好的Bean拿來用,完成屬性、方法的組裝,它可以對類成員變數、方法及建構函式進行標註,完成自動裝配的工作。當加上(required=false)時,就算找不到bean也不報錯。
@Qualifier:當有多個同一型別的Bean時,可以用@Qualifier(“name”)來指定。與@Autowired配合使用。@Qualifier限定描述符除了能根據名字進行注入,但能進行更細粒度的控制如何選擇候選者。
@Resource:JSR250規範的實現,根據名稱進行自動裝配的,一般會指定一個name屬性。
@JsonBackReference:jackson框架註解,解決巢狀外鏈問題。
@PropertySource:載入指定配置檔案,通常為自定義properties檔案。
Spring Web註解 鄭州人流醫院哪家好
@ResponseBody:表示該方法的返回結果直接寫入HTTP response body中,一般在非同步獲取資料或介面的互動時使用,用於構建RESTful的api。一般情況下會將返回的類轉為Json字串的形式返回給客戶端。
@Controller:將被修飾的類被例項化並注入Spring IOC容器中。語義化的作用,即代表該類是充當Controller的作用。一般由該類(控制器)負責將使用者發來的URL請求轉發到對應的服務介面(service層)。
@RestController:用於標註控制層元件,@ResponseBody和@Controller的合集。
@RequestMapping:提供路由資訊,負責URL到Controller中的具體函式的對映。
@GetMapping:是一個組合註解,是@RequestMapping(method=RequestMethod.GET)的縮寫。
@PostMapping是一個組合註解,是@RequestMapping(method=RequestMethod.POST)的縮寫。
@PathVariable:spring3.0的一個新功能,用於接收請求路徑中佔位符的值。透過@PathVariable可以將URL中佔位符引數繫結到控制器處理方法的入參中:URL中的{xxx}佔位符可以透過@PathVariable(“xxx“)繫結到操作方法的入參中。
@RequestParam:將請求引數繫結到控制器的方法引數上。
@ControllerAdvice:一個增強的Controller,常用於全域性異常處理、全域性資料繫結、全域性資料預處理等。
@ExceptionHandler:與@ControllerAdvice結合使用,用於統一異常處理。
JPA註解
@Entity:表明這是一個實體類,比如實體類UserEntity,預設對應資料庫中的表名是user_entity。一般與@Table結合使用,是如果表名和實體類名相同的話,@Table可以省略。
@Table:當實體類與其對映的資料庫表名不同名時需要使用@Table註解說明,該標註與@Entity註解並列使用,置於實體類宣告語句之前,可寫於單獨語句行,也可與宣告語句同行。
@MappedSuperClass:註解使用在父類上面,標識的類表示其不能對映到資料庫表,被標識的類不能再使用@Entity或@Table註解。
@NoRepositoryBean:一般用作父類的repository,告訴JPA不要建立對應介面的bean物件就在類上加@NoRepositoryBean註解。
@Column:用來標識實體類中屬性與資料表中欄位的對應關係,如果欄位名與列名相同,則可以省略。
@Id:表示該屬性為主鍵。
@GeneratedValue:為實體生成唯一標識的主鍵提供生成策略。主鍵生成策略包括sequence,Auto、IDENTITY、native等,Auto表示可在多個資料庫間切換。
@Transient:表示該屬性不進行資料庫表的欄位對映,ORM框架將忽略該屬性。
@JsonIgnore:作用是json序列化時將Java bean中的一些屬性忽略掉,序列化和反序列化都受影響。
@JoinColumn:用來指定與所操作實體或實體集合相關聯的資料庫表中的列欄位。一對一,本表中指向另一個表的外來鍵;一對多,另一個表指向本表的外來鍵。
@OneToOne、@OneToMany、@ManyToOne:對應hibernate配置檔案中的一對一,一對多,多對一。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2671222/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring/SpringBoot常用註解總結Spring Boot
- Springboot 常用註解Spring Boot
- MapStruct - 註解彙總Struct
- 【SpringBoot系列】SpringBoot註解詳解Spring Boot
- 常用解決方案彙總
- SpringBoot系列 註解大全Spring Boot
- 002 SpringBoot 常用註解Spring Boot
- springboot常用註解記錄Spring Boot
- springboot搭建以及常用註解Spring Boot
- 解壓命令unzip常用方法彙總
- 常用js彙總JS
- springboot2.x基礎教程:自動裝配原理與條件註解Spring Boot
- SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置Spring BootTomcat
- SpringBoot + MyBatis(註解版),常用的SQL方法Spring BootMyBatisSQL
- Oracle DB 相關常用sql彙總6[知乎系列續]OracleSQL
- Java程式設計筆記,springboot常用屬性彙總Java程式設計筆記Spring Boot
- 常用函式彙總函式
- Oracle 常用方法彙總Oracle
- 常用SQL技巧彙總SQL
- 《區塊鏈常用術語解釋》彙總區塊鏈
- SpringBoot原始碼解讀系列三——引導註解Spring Boot原始碼
- springboot常用註解大全(超詳細, 30個)Spring Boot
- spring常用的一些註解以及註解注入總結Spring
- 肝了一週總結的SpringBoot常用註解大全,一目瞭然!Spring Boot
- SpringBoot學習彙總Spring Boot
- 阿里雲常用產品彙總及解釋阿里
- Excel常用快捷鍵彙總Excel
- MySQL常用函式彙總MySql函式
- 常用壓縮命令彙總
- PHP 常用函式彙總PHP函式
- css常用屬性彙總CSS
- My SQL常用操作彙總SQL
- oracle 常用語句彙總Oracle
- oracle常用函式彙總Oracle函式
- 常用SQL語句彙總SQL
- 常用的vi指令彙總
- MySql 常用語法彙總MySql
- AA常用函式彙總函式