springboot 之 常用註解說明

@RequestMapping

用在類和方法上,用於類上表示父路徑,如demo,方法上表示子路徑,如demo1。訪問路徑爲:demo/demo1

屬性:params, headers, value, method, consumes, produces

@PathVariable

 路徑上的變量,用在參數前,路徑上的變量名和參數名稱一致

@RequestMapping("demo/demo1/{name}")

public String say(@PathVariable String name){

}

@RequestParam

等價於下面代碼
String name = request.getParameter("name");

@RequestBody

 方法參數綁定到HTTP請求的Body上,前端需要用json提交。

@RequestMapping(value = "/something", method = RequestMethod.PUT)

public void handle(@RequestBody String body,@RequestBody User user){

//可以綁定自定義的對象類型

}

@ResponseBody

 表示輸出的格式是json,用返回值填補HTTP的Body

@Bean

相當於xml裏面配置<bean></bean>, 放在方法上面,而不是類,意思是產生一個bean並交給spring管理

@Autowired

Spring的註釋,可用於類的屬性,構造器,方法進行註釋

@Qualifier

當有同一類型的Bean時,可以用@Qualifier("name")來指定。與@Autowired配合使用

@Resource

 java的註釋,爲目標bean指定協作者Bean,相當與Autowired,但是以名字方式注入,Autowired以類型方式注入(但是可以配合Qualifier使用,否則一個類多個對象會拋出異常)。

@Repository

標註一個DAO組件類

@Service

標註一個業務邏輯組件類,可以自定義Bean名稱,但必須唯一。

@Controller

標註一個控制器組件類

@Component

可以替代@Repository、@Service、@Controller,因爲三個註解都被@Component標註。被註解的java類當做Bean實例,Bean實例的名稱默認是Bean類的首字母小寫,其他不變。

@SpringBootApplication

包含@Configuration、@EnableAutoConfiguration、@ComponentScan,通常用在啓動類上。

@RestController

@Controller和@ResponseBody的集合。並且將函數的返回值直接填入HTTP的響應體中,是REST風格的控制器。

@JsonBackReference

解決嵌套外鏈接問題

@ComponentScan

組件掃描。如果掃描到有@Component @Controller @Service等這些註解的類,則把這些類註冊爲bean。讓springboot掃描到Configuration類,並把它加入到程序上下文。自動發現和裝配Bean

 

 

@Conditional

用來標緻一個spring bean或者configuration配置文件,當滿足指定的條件纔開啓配置

@ConditionalOnBean

組合@Conditional註解,當容器中有指定的Bean纔開啓配置。

@ConditionalOnMissingBean

和上面的註解相反,當容器中沒有指定的Bean纔開啓配置。

@ConditionalOnClass

 

@ConditionalOnMissingClass

組合@Conditional,兩者爲相反註解,當容器中沒有/有指定class纔開啓配置。

@ConditionalOnWebApplication

 

@ConditionalOnNotWebApplication

同上,當前項目類型是或者不是web項目纔開啓配置。

@ConditionalOnProperty

組合@Conditional註解,當指定的屬性有指定的值時纔開啓配置。

@ConditionalOnJava

當運行的java JVM在指定版本範圍內時纔開啓配置

@ConditionalOnResource

當類路徑下有指定的資源纔開啓配置。

@COnditionalOnSingleCandidate

當指定的class在容器中只有一個Bean,或者同時有多個但爲首選時纔開啓配置。

 

 

@ConfigurationProperties

用來加載額外的配置,用在@Configuration註解類或者@Bean註解方法上面。

@EnableConfigurationProperties

配合@ConfigurationProperties註解使用,用來開啓對@ConfigurationProperties註解配置Bean的支持。

@AutoConfigureAfter

 

@AutoConfigureBefore

表示該自動配置類需要在另外指定的自動配置類配置前/後配置

@Configuration

指出該類是Bean配置的信息源,相當於XML中的<beans></beans>,一般加在主類上,配置文件裏能做的事可以在註解下面的類做。

 

@Configuration是隨容器啓動開始加載的,始終存在的單例模式。 @Component是使用一次即實例化一次

 

 

@Profiles

Spring Profiles提供了一種隔離應用程序配置的方式,並讓這些配置只能在特定的環境下生效。
 

任何@Component或@Configuration都能被@Profile標記,從而限制加載它的時機。

@Configurationbr/>@Profile("prod")

public class ProductionConfiguration {

// ...

}

@Vaue

注入application.properties配置的屬性的值
 

@Value("${defaultPageNum}")

private String message;

@ImportResource

有些通過類的註冊方式配置不了的,可以使用這個註解指定xml文件,老的配置很管用

@Import:

用來引入額外的一個或者多個 @Configuration 修飾的配置文件類. 多個配置類嵌套使用時有用。

@SpringBootConfiguration

@Configuration的變體,作用一樣。

@RequestHeader

獲取http請求頭某個變量信息

@GetMapping

get提交,參數在url中

@PostMapping

post提交,參數在body中

@DeleteMapping

delete提交,參數在url中

@PutMapping

put提交,參數在url中,一般用於更新

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章