【SpringBoot】 annotation
以下是常用的 Spring Boot Annotation 的說明
-
@SpringBootApplication
:用於標記Spring Boot應用程序的主要類,它結合了@Configuration
、@EnableAutoConfiguration
、@ComponentScan
三個註解的功能。 -
@Controller:用來標記一個類,表示這是一個Controller,可以處理HTTP請求。
-
@RestController
:用於標記一個控制器類,並表示該類中所有的方法都會以JSON格式返回結果。 -
@RequestMapping
:使用標記Controller中的方法,並指定該方法的URL路徑。-
@GetMapping:類似於@RequestMapping,但只是處理HTTP GET請求。
-
@PostMapping:類似於@RequestMapping,但只是處理HTTP POST請求。
-
@PutMapping:類似於@RequestMapping,但只是處理HTTP PUT請求。
-
@DeleteMapping:類似@RequestMapping,但只是處理HTTP DELETE請求。
-
-
@PathVariable:用來獲取URL路徑上的變量值。
-
@RequestParam:用來獲取HTTP請求中的參數值。
-
@RequestBody:用於獲取HTTP請求中的請求體,一般用於處理POST請求。
-
@ResponseBody:使用指定方法返回值的格式,可以是JSON、XML或者其他格式
-
@Autowired
:用於將依賴註冊到Spring容器中,可以在成員變量、構造函數數、Setter方法中使用。 -
@Value
:用於獲取配置文件中的值,例如數據庫連接信息、服務端接口等。 -
@Configuration
:用於標記一個配置類,配置類中通常包含@Bean註解的方法,用於提供Bean的定義。 -
@Bean
:用於將方法返回的對象註冊為Bean,Spring容器管理該Bean的生命週期。 -
@EnableAutoConfiguration
:用於啟動Spring Boot的自動配置功能,Spring Boot會根據當前的classpath和配置文件,自動配置所需的Bean。 -
@ComponentScan
:用於指定需要掃描的包,Spring Boot會掃描該包及其子包下面所有的@Component註解,並將其註冊為Bean。 -
@Transactional
:用於標記一個方法或類需要事務管理,Spring Boot會根據@Transactional註解的配置,自動創建事務,並管理其生命週期。 -
@Profile
:使用指定Bean的配置文件的Profile,不同的Profile可以在不同的環境下使用不同的配置。 -
@Async
:用於標記一個方法為異常方法,Spring Boot會自動將方法放入線程池中執行
@SpringBootApplication
掛有@SpringBootApplication
main程式為執行時的進入點。同時也是主要的配置類別。
會掃描所在類別的package及其子package中掛有
@Component
@Controller
@Service
@Repository
等component類別並註冊為spring bean。
包含三種 annotation
@EnableAutoConfiguration
@ComponentScan
@Configuration