Springboot 常用注解


@SpringBootApplication:

包含@Configuration、@EnableAutoConfiguration、@ComponentScan
通常用在主類上。

@Repository:
用於標注數據訪問組件,即DAO組件。

@Service:
用於標注業務層組件。 

@RestController:
用於標注控制層組件(如struts中的action),包含@Controller和@ResponseBody。

@ResponseBody:
表示該方法的返回結果直接寫入HTTP response body中
一般在異步獲取數據時使用,在使用@RequestMapping后,返回值通常解析為跳轉路徑,加上@responsebody后返回結果不會被解析為跳轉路徑,而是直接寫入HTTP response body中。比如異步獲取json數據,加上@responsebody后,會直接返回json數據。

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

@ComponentScan:
組件掃描。個人理解相當於<context:component-scan>,如果掃描到有@Component @Controller @Service等這些注解的類,則把這些類注冊為bean。

@Configuration:
指出該類是 Bean 配置的信息源,相當於XML中的<beans></beans>,一般加在主類上。

@Bean:
相當於XML中的<bean></bean>,放在方法的上面,而不是類,意思是產生一個bean,並交給spring管理。

@EnableAutoConfiguration:
讓 Spring Boot 根據應用所聲明的依賴來對 Spring 框架進行自動配置,一般加在主類上。

@AutoWired:
byType方式。把配置好的Bean拿來用,完成屬性、方法的組裝,它可以對類成員變量、方法及構造函數進行標注,完成自動裝配的工作。
當加上(required=false)時,就算找不到bean也不報錯。

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

@Resource(name="name",type="type"):
沒有括號內內容的話,默認byName。與@Autowired干類似的事。

 

@RequestMapping:

RequestMapping是一個用來處理請求地址映射的注解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。
該注解有六個屬性:
params:指定request中必須包含某些參數值是,才讓該方法處理。
headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求。
value:指定請求的實際地址,指定的地址可以是URI Template 模式
method:指定請求的method類型, GET、POST、PUT、DELETE等
consumes:指定處理請求的提交內容類型(Content-Type),如application/json,text/html;
produces:指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回

@RequestParam:
用在方法的參數前面。
@RequestParam String a =request.getParameter("a")。

@PathVariable:

路徑變量。參數與大括號里的名字一樣要相同。

RequestMapping("user/get/mac/{macAddress}")
public String getByMacAddress(@PathVariable String macAddress){
  //do something;
}

 

@Profiles
Spring Profiles提供了一種隔離應用程序配置的方式,並讓這些配置只能在特定的環境下生效。
任何@Component或@Configuration都能被@Profile標記,從而限制加載它的時機。

@Configuration
@Profile("prod")
public class ProductionConfiguration {
    // ...
}

 

@ConfigurationProperties
Spring Boot將嘗試校驗外部的配置,默認使用JSR-303(如果在classpath路徑中)。
你可以輕松的為你的@ConfigurationProperties類添加JSR-303 javax.validation約束注解:

@Component
@ConfigurationProperties(prefix="connection")
public class ConnectionSettings {
@NotNull
private InetAddress remoteAddress;
// ... getters and setters
}

 

全局異常處理

@ControllerAdvice:
包含@Component。可以被掃描到。
統一處理異常。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM