做網(wǎng)站就必須要開公司嗎珠海網(wǎng)站建設(shè)優(yōu)化
Spring Boot 中常用的一些注解及其作用如下所示:
-
@SpringBootApplication
:標(biāo)注一個(gè)主程序類,用于啟動(dòng) Spring Boot 應(yīng)用,通常放在包的最頂層。 -
@RestController
:結(jié)合?@Controller
?和?@ResponseBody
,用于定義 RESTful 服務(wù)端控制器。 -
@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
:分別表示處理 HTTP 的 GET、POST、PUT、DELETE 請求的方法,用于映射請求 URL 到具體的處理方法。 -
@PathVariable
:用于將 URL 中的模板變量映射到方法參數(shù)中。 -
@RequestParam
:用于從請求參數(shù)中獲取值,映射到方法參數(shù)中。 -
@Autowired
:自動(dòng)裝配 Bean,可以在構(gòu)造方法、屬性上使用。 -
@Service
、@Component
、@Repository
、@Controller
:用于定義服務(wù)類、組件類、數(shù)據(jù)訪問類和控制器類,Spring 會(huì)自動(dòng)掃描并注冊這些類為 Bean。 -
@Configuration
:用于定義配置類,主要用于配置 Bean。 -
@Value
:注入配置文件中的屬性值。 -
@Qualifier
:指定 Bean 的名稱進(jìn)行注入。 -
@ConditionalOnProperty
:根據(jù)配置文件中的屬性值來決定是否裝配 Bean。 -
@EnableAutoConfiguration
:啟用自動(dòng)配置,Spring Boot 會(huì)根據(jù)依賴自動(dòng)配置應(yīng)用的各種默認(rèn)行為。 -
@Async
:表明被注解的方法是一個(gè)異步方法,可單獨(dú)開啟一個(gè)線程來執(zhí)行。 -
@Bean
:在 Java 配置類中使用,用于定義 Bean,Spring 容器會(huì)根據(jù)該注解創(chuàng)建 Bean 對(duì)象并放入容器中。 -
@ConfigurationProperties
:將配置文件中的屬性值和 Bean 的屬性進(jìn)行綁定,通常與?@Configuration
?結(jié)合使用。 -
@EnableScheduling
:啟用定時(shí)任務(wù)的注解,使得?@Scheduled
?注解等生效。 -
@Transactional
:用于聲明事務(wù)性方法,使得方法具有事務(wù)性,通常用在 Service 層的方法上。 -
@Valid
:用于表示需要驗(yàn)證的方法參數(shù),結(jié)合 Hibernate Validator 進(jìn)行方法參數(shù)的校驗(yàn)。 -
@PreAuthorize
、@PostAuthorize
、@Secured
:用于方法級(jí)的安全控制,進(jìn)行訪問權(quán)限的控制。 -
@CrossOrigin
:用于處理跨域請求,可以在 Controller 類或方法上添加該注解。 -
@Entity
、@Table
、@Column
:用于 JPA 實(shí)體類與數(shù)據(jù)庫表的映射關(guān)系。 -
@Scheduled
:用于定時(shí)調(diào)度任務(wù),可以指定方法定時(shí)執(zhí)行的規(guī)則,例如固定間隔、固定延遲等。 -
@RequestMapping
:用于映射 HTTP 請求到處理方法上,可以指定請求的 URL、請求方法等屬性。 -
@ExceptionHandler
:用于處理Controller內(nèi)部異常,可以在方法中捕獲特定異常并進(jìn)行處理。 -
@ResponseStatus
:用于定義處理特定異常時(shí)返回的 HTTP 狀態(tài)碼。 -
@ResponseBody
:將方法返回值直接以 JSON 或 XML 格式寫入 HTTP 響應(yīng)體中。 -
@RequestBody
:用于接收 HTTP 請求體中的數(shù)據(jù),并將其轉(zhuǎn)換成對(duì)象。 -
@EnableCaching
:啟用緩存支持,可以在方法上使用?@Cacheable
、@CachePut
、@CacheEvict
?注解來實(shí)現(xiàn)緩存功能。 -
@EnableTransactionManagement
:開啟事務(wù)管理支持,可以在 Service 層的方法上使用?@Transactional
?注解管理事務(wù)。 -
@ComponentScan
:用于指定要掃描的包路徑,Spring Boot 將會(huì)掃描該包及其子包下的所有組件。 -
@PropertySource
:用于加載指定的屬性源,可以指定加載的配置文件路徑。 -
@Profile
:根據(jù)當(dāng)前環(huán)境激活對(duì)應(yīng)的配置文件或 Bean。 -
@EventListener
:監(jiān)聽 Spring 應(yīng)用中的事件,可以在方法中處理特定的事件。 -
@EnableSwagger2
:集成 Swagger2 生成 API 文檔。 -
@EnableFeignClients
:啟用 Feign 客戶端,用于簡化調(diào)用其他 REST 服務(wù)的過程。 -
@EnableDiscoveryClient
:啟用服務(wù)注冊與發(fā)現(xiàn)功能,用于與服務(wù)注冊中心進(jìn)行通信。 -
@EnableEurekaClient
:聲明當(dāng)前應(yīng)用是 Eureka 服務(wù)注冊中心的客戶端。 -
@EnableHystrix
:啟用 Hystrix 斷路器,用于處理服務(wù)容錯(cuò)和降級(jí)。 -
@EnableZuulProxy
:啟用 Zuul 網(wǎng)關(guān),用于統(tǒng)一訪問和路由請求。 -
@EntityScan
:用于指定實(shí)體類的掃描路徑,通常與 JPA 搭配使用。 -
@EnableJpaRepositories
:啟用 JPA 倉庫功能,用于掃描和管理 JPA Repository 接口。 -
@EnableAsync
:啟用異步方法執(zhí)行功能,可以配合?@Async
?使用。 -
@EnableBatchProcessing
:啟用 Spring 批處理功能。 -
@EnableWebMvc
:用于自定義 Spring MVC 配置,并且要保留默認(rèn)的配置。 -
@EnableWebFlux
:啟用 WebFlux 配置,支持響應(yīng)式編程。 -
@ConditionalOnProperty
:根據(jù)配置文件中的屬性值來決定是否啟用某個(gè)配置。 -
@ConditionalOnClass
、@ConditionalOnMissingClass
:根據(jù)類路徑上是否存在某個(gè)類來決定是否啟用或禁用某個(gè)配置。 -
@ConditionalOnBean
、@ConditionalOnMissingBean
:根據(jù)是否存在某個(gè) Bean 來決定是否啟用或禁用某個(gè)配置。 -
@ConditionalOnExpression
:根據(jù) SpEL 表達(dá)式的結(jié)果來決定是否啟用某個(gè)配置。