溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spring Boot 注解大全

發(fā)布時間:2020-08-03 08:38:37 來源:網(wǎng)絡(luò) 閱讀:1618 作者:灰白世界 欄目:編程語言

啟動類注解

@Configuration:定義配置類,被注解的類內(nèi)部包含有一個或多個被 @Bean 注解的方法

@EnableAutoConfiguration:開啟自動配置功能,自動根據(jù)導(dǎo)入的依賴來自動配置項目

@ComponentScan:該注解標識的類,會被 Spring 自動掃描并且裝入bean容器

@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan

請求注解

@RequestBody:將請求體中的 json 字符串綁定到相應(yīng)的 Bean 上

@ResponseBoby:將返回的對象轉(zhuǎn)換成 json 字符串返回

@Controller:標注該類時一個控制器

@RestController:@Controller + @ResponseBody,標注該類是一個控制器,但不能返回頁面,只能返回 json

@RequestMapping:提供路由信息,負責(zé) url 到 控制器具體函數(shù)的映射

@RequestParam:將 url 中的參數(shù)綁定到函數(shù)的變量中

@PathVariable:映射 url 綁定的占位符

@GetMapping = @RequestMapping(method = RequestMethod.GET)

@PostMapping = @RequestMapping(method = RequestMethod.POST)

@PutMapping = @RequestMapping(method = RequestMethod.PUT)

@DeleteMapping = @RequestMapping(method = RequestMethod.DELETE)

配置注解

@Import:用來導(dǎo)入其他配置類

@ImportResource:用來加載 xml 配置文件

@Autowired:自動導(dǎo)入依賴的 Bean

@Service:一般用于修飾 service 層的組件

@Repository:使用該注解可以確保 dao 或者 repositories 提供異常轉(zhuǎn)譯,這個注解修飾的類會被ComponetScan發(fā)現(xiàn)并配置,同時也不需要為它們提供XML配置項

@Bean:用 @Bean 標注方法等價于XML中配置的 Bean

@Value:注入properties/yml 配置的屬性的值

@Inject:等價于默認的 @Autowired,只是沒有 required 屬性

@Component:泛指組件,當(dāng)組件不好歸類的時候,我們可以使用這個注解進行標注

@Bean:標注在方法上,將方法的返回對象交由 Spring 處理

@AutoWired:自動導(dǎo)入依賴的 Bean,byType 方式

@Qualifier:當(dāng)有多個同一類型的 Bean 時,可以用 @Qualifier("name") 來指定,與 @Autowired 配合使用

JPA 注解

@Entity、@Table(name=""):表明這是一個實體類,這兩個注解一般一塊使用,但是如果表名和實體類名相同的話,@Table可以省略

@MappedSuperClass:用在確定是父類的entity上,父類的屬性子類可以繼承

@NoRepositoryBean:一般用作父類的 repository,有這個注解,spring不會去實例化該 repository

@Column:如果字段名與列名相同,則可以省略

@Id:表示該屬性為主鍵

@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "repair_seq"):表示主鍵生成策略是sequence(可以為Auto、IDENTITY、native等,Auto表示可在多個數(shù)據(jù)庫間切換),指定 sequence 的名字是repair_seq

@SequenceGeneretor(name = "repair_seq",sequenceName = "seq_repair",allocationSize = 1):name 為 sequence的名稱,以便使用,sequenceName 為數(shù)據(jù)庫的 sequence 名稱,兩個名稱可以一致

@Transient:表示該屬性并非一個到數(shù)據(jù)庫表的字段的映射,ORM框架將忽略該屬性,如果一個屬性并非數(shù)據(jù)庫表的字段映射,就務(wù)必將其標示為 @Transient ,否則,ORM框架默認其注解為@Basic

@Basic(fetch=FetchType.LAZY):標記可以指定實體屬性的加載方式

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

@JoinColumn(name="loginId"):一對一,本表中指向另一個表的外鍵;一對多,另一個表指向本表的外鍵

@OneToOne、@OneToMany、@ManyToOne:對應(yīng) hibernate 配置文件中的一對一、一對多、多對一

全局異常處理

@ControllerAdvice:包含@Component,可以被掃描到,統(tǒng)一處理異常

@ExceptionHandler(Exception.class):用在方法上面表示遇到這個異常就執(zhí)行以下方法

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI