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:宣告類路徑下是否存在指定資原始檔