Spring Boot 註解大全

啓動類註解

@Configuration:定義配置類,被註解的類內部包含有一個或多個被 @Bean 註解的方法spring

@EnableAutoConfiguration:開啓自動配置功能,自動根據導入的依賴來自動配置項目數據庫

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

@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScanapp

請求註解

@RequestBody:將請求體中的 json 字符串綁定到相應的 Bean 上框架

@ResponseBoby:將返回的對象轉換成 json 字符串返回ide

@Controller:標註該類時一個控制器函數

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

@RequestMapping:提供路由信息,負責 url 到 控制器具體函數的映射ui

@RequestParam:將 url 中的參數綁定到函數的變量中url

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

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

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

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

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

配置註解

@Import:用來導入其餘配置類

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

@Autowired:自動導入依賴的 Bean

@Service:通常用於修飾 service 層的組件

@Repository:使用該註解能夠確保 dao 或者 repositories 提供異常轉譯,這個註解修飾的類會被ComponetScan發現並配置,同時也不須要爲它們提供XML配置項

@Bean:用 @Bean 標註方法等價於XML中配置的 Bean

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

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

@Component:泛指組件,當組件很差歸類的時候,咱們可使用這個註解進行標註

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

@AutoWired:自動導入依賴的 Bean,byType 方式

@Qualifier:當有多個同一類型的 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表示可在多個數據庫間切換),指定 sequence 的名字是repair_seq

@SequenceGeneretor(name = "repair_seq",sequenceName = "seq_repair",allocationSize = 1):name 爲 sequence的名稱,以便使用,sequenceName 爲數據庫的 sequence 名稱,兩個名稱能夠一致

@Transient:表示該屬性並不是一個到數據庫表的字段的映射,ORM框架將忽略該屬性,若是一個屬性並不是數據庫表的字段映射,就務必將其標示爲 @Transient ,不然,ORM框架默認其註解爲@Basic

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

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

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

@OneToOne、@OneToMany、@ManyToOne:對應 hibernate 配置文件中的一對1、一對多、多對一

全局異常處理

@ControllerAdvice:包含@Component,能夠被掃描到,統一處理異常

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

相關文章
相關標籤/搜索