欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

springboot核心注解有哪些

在Spring Boot中,有許多注解可以幫助我們更好地配置和管理應(yīng)用程序。介紹一些常用的Spring Boot核心注解,幫助您更深入地了解這些注解的功能和用法。

1. @SpringBootApplication

@SpringBootApplication是一個組合注解,它包含了以下幾個常用的Spring Boot注解:

  • @Configuration:表示這是一個配置類,用于定義應(yīng)用程序的配置信息。
  • @EnableAutoConfiguration:啟用自動配置功能,根據(jù)項目中的依賴關(guān)系自動配置相應(yīng)的組件。
  • @ComponentScan:掃描指定包下的所有組件(如控制器、服務(wù)、數(shù)據(jù)訪問對象等),并將其注冊到Spring容器中。
  • @Import:導入其他配置類,以便在當前配置類中使用它們定義的配置信息。

使用@SpringBootApplication注解的示例:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@SpringBootApplication
@Configuration
@ComponentScan(basePackages = "com.example")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

2. @ControllerAdvice

@ControllerAdvice注解用于定義全局的異常處理和日志記錄策略。通過在一個類上添加此注解,可以方便地為整個應(yīng)用程序的所有控制器類提供統(tǒng)一的異常處理和日志記錄功能。

使用@ControllerAdvice注解的示例:

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;

@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
    // ...自定義異常處理邏輯
}

3. @RestControllerAdvice

@RestControllerAdvice注解是@ControllerAdvice的特例,它用于定義針對RESTful Web服務(wù)的全局異常處理和日志記錄策略。與@ControllerAdvice不同之處在于,它只關(guān)注控制器類生成的響應(yīng)內(nèi)容,而忽略請求方法(如GET、POST等)。

使用@RestControllerAdvice注解的示例:

import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.NoHandlerFoundException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler;
import java.io.IOException;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;

@RestControllerAdvice
public class GlobalExceptionHandler {
    private static final Logger logger = Logger.getLogger(GlobalExceptionHandler.class.getName());
    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    @ExceptionHandler(NoHandlerFoundException.class)
    public ResponseEntity<Object> handle404(NoHandlerFoundException ex, String url) {
        logger.log(Level.SEVERE, "404 Not Found", ex); //記錄錯誤日志
        return new ResponseEntity<>(buildErrorResponse("404", "Not Found", url), HttpStatus.NOT_FOUND); //構(gòu)建自定義錯誤響應(yīng)體并返回給客戶端
    }

    // ...自定義異常處理邏輯(如文件上傳失敗等)
}

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19405534.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄