1. 程式人生 > 其它 >SpringBoot學習(6)常見註解解析

SpringBoot學習(6)常見註解解析

一:@SpringBootApplication:聲明當前類是Spring的主程式入口類,該註解包含3個主要註解:@ComponentScan、@SpringBootConfiguration、@EnableAutoConfiguration

@SpringBootConfiguration:聲明當前類是SpingBoot的配置類

@EnableAutoConfiguration:是springboot實現自動化配置的核心註解,通過這個註解把spring應用所需的bean注入容器中

@ComponentScan:用來自動掃描被這些註解標識的類,最終生成ioc容器裡的bean,預設掃描範圍是@ComponentScan註解所在配置類包及子包的類

 

二:Spring容器管理物件建立註解:

@Service:一般修飾在sevice層類上,用於宣告Spring容器管理物件建立

@Component:泛指元件,與@Service一樣,是用來宣告Spring容器管理物件建立,當類不好歸類時,可以使用該註解

@Repository:一般用於修飾在dao層類上,與@Service一樣,是用來宣告Spring容器管理物件建立

@Controller:一般修飾在controller層,定義當前類是一個控制器類

 

三:請求相關注解

@ResponseBody:可以宣告在方法上也可以宣告在類上。宣告在方法上,表示對應方法的返回值直接寫入響應體中,生命在類上,表示當前類所有方法的返回值都直接寫入響應體

@RequestMapping:可以宣告在方法上也可以宣告在類上。如果宣告在方法上,表示對映具體的專案URL+此處配置的URL;如果宣告在類上,則當前類下所有方法的對映地址都要加上類上定義的URL路徑

@GetMapping:與RequestMapping類似,但是該註解限定只能接受get請求

@PostMapping:限定只能接收post請求

@RestController:如果一個類既有@Controller又有@ResponseBody,那麼可以使用@RestController代替

@RequestBody:獲取請求體資料,一般用於post獲取引數

@RequestParm:主要獲取url?後面的引數

@PathVariable:獲取請求實際路徑引數

@RequestHeader:獲取請求頭資訊

@CookieValue:獲取Cookie資訊

 

三:屬性注入相關

@Autowired:對屬性根據型別依賴注入

@Qualifier:可以與@Autowired配合使用,如果根據型別找到多個Bean時,可以指定根據名稱注入

@Resource(name="",type=""):預設按名稱進行依賴注入,也可以按照型別依賴注入

@Value:注入配置檔案中配置的屬性值

 

四:配置相關

@PropertySource:宣告使用指定配置檔案

@ImportResource:載入指定XML配置檔案

@Configuration:定義XML配置檔案類

@Import:匯入其他配置類

@Bean:等價於使用配置檔案配置bean

 

五:Conditional相關

@ConditionalOnBean:宣告容器必須存在指定Bean

@ConditionalOnMissingBean:如果容器不存在指定Bean就建立一個

@ConditionalOnClass:宣告系統必須存在指定類

@ConditionalOnProperty:宣告指定的屬性是否有指定的值

@ConditionalOnResource:宣告類路徑下是否存在指定資原始檔