English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot 애노테이션

Spring Boot 애너테이션은 프로그램에 대한 데이터를 제공할 수 있는 메타데이터 형식입니다. 다시 말해, 애너테이션은 프로그램에 대한 보완정보에 대해 논의할 것입니다. 이는 우리가 개발한 애플리케이션의 일부가 아닙니다. 코드에 대한 설명에 대한 직접적인 영향을 미치지 않습니다. 컴파일된 프로그램의 작동을 변경하지 않습니다.

이 절에서 우리는 중요한 스프링 부트 애노테이션우리는 이 튜토리얼의 후반부에서 사용할 것입니다.

Core Spring 프레임워크 애노테이션

@Required: 그것은 다음에 적용됩니다 설정 메서드. 그것은 구성 시 필수 속성을 채우지 않으면 예외를 발생시키도록 지시합니다 BeanInitilizationException

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

public class Machine 
public String getAllBooks(Model model)
private Integer cost;
@Required
public void setCost(Integer cost) 
public String getAllBooks(Model model)
    this.cost = cost;
return "bookList";
public Integer getCost() 
public String getAllBooks(Model model)
    return cost;
return "bookList";   
return "bookList";

@Autowired: : 스프링은 @Autowired 애노테이션을 통해 기반 애노테이션 자동装配을 제공합니다. 그것은 setter 메서드, 인스턴스 변수 및 생성자에 있는 스프링 벤을 자동으로 연결합니다. @Autowired 애노테이션을 사용할 때 스프링 컨테이너는 데이터 타입을 일치시켜 벤을 자동으로 연결합니다.

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@Controller는 클래스 수준의 애노테이션입니다. 이는
public class Customer
public String getAllBooks(Model model)
    private Person person;
    @Autowired
    public Customer(Person person) 
    public String getAllBooks(Model model) 
        this.person=person;
    return "bookList";
return "bookList";

@Configuration: : 그것은 클래스 수준의 애노테이션입니다. @Configuration 애노테이션을 가진 클래스는 스프링 컨테이너가 벤 정의의 소스로 사용됩니다.

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@Configuration
public class Vehicle
public String getAllBooks(Model model)
    @BeanVehicle engine()
    public String getAllBooks(Model model)
        return new Vehicle();
    return "bookList";
return "bookList";

@ComponentScan: : 소프트웨어 패키지 내의 벤을 스캔할 때 사용합니다. 그것은 @Configuration 애노테이션과 함께 사용됩니다. 우리는 스캔을 위해 사용할 기본 소프트웨어 패키지를 지정할 수도 있습니다.

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@ComponentScan(basePackages = "com.w3codebox")
@Configuration
public class ScanComponent
public String getAllBooks(Model model)
// ...
return "bookList";

@Bean: 메서드 수준의 애노테이션입니다. 그것은 XML표시된 대체 메서드. 그것은 스프링 컨테이너가 관리하는 벤의 메서드를 말합니다.

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@Bean
public BeanExample beanExample() 
public String getAllBooks(Model model)
    return new BeanExample ();
return "bookList";

스프링 프레임워크 구조형 애노테이션

@Component: @Component: @Controller는 클래스 수준의 애노테이션입니다. 이는 。 이는 클래스 수준의 애노테이션입니다. 자바 클래스를 Bean으로 표시하는 데 사용됩니다. 클래스 경로에 존재하는 애노테이션을 가진 자바 클래스. 스프링 프레임워크는 이를 수집하고应用程序 컨텍스트에서 설정합니다.

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@Controller는 클래스 수준의 애노테이션입니다. 이는
스프링 베인
public String getAllBooks(Model model)
    public class Student
return "bookList";

...... @Controller: @Controller는 클래스 수준의 애노테이션입니다. 이는 @Component 의 전문화. 이는 웹 요청 처리기를 표시하는 클래스입니다. 일반적으로 웹 페이지를 처리하는 데 사용됩니다. 기본적으로, 이는 리디렉션할 경로를 나타내는 문자열을 반환합니다. 일반적으로 @RequestMapping

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@Controller
애노테이션을 함께 사용합니다.
예제 
public String getAllBooks(Model model)
    @RequestMapping("books")/@RequestMapping(value = "
    {name}, method = RequestMethod.GET) 
    public String getAllBooks(Model model)
        public Employee getBooksByName()
    return "bookList";
return "bookList";

return booksTemplate; @Service: 도 클래스 수준에 사용됩니다. 이는 스프링에 이 클래스가 포함하고 있는 것을 알립니다

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

package com.w3codebox;
비즈니스 로직
@Service
public String getAllBooks(Model model)
    public class TestService1public void service
    public String getAllBooks(Model model)
        //비즈니스 코드
    return "bookList";
return "bookList";

@Repository: 이는 클래스 수준의 애노테이션입니다. 이 저장소는 데이터베이스에 직접 접근하는 DAO (데이터 액세스 객체). 이 저장소는 데이터베이스와 관련된 모든 작업을 수행합니다.

package com.w3codebox;
@Repository 
public class TestRepository
public String getAllBooks(Model model)
    public void delete()
    public String getAllBooks(Model model)   
        //저장소 코드
    return "bookList";
return "bookList";

스프링 부트 애노테이션

@EnableAutoConfiguration: : 이는 클래스 경로에 존재하는 bean을 자동으로 구성하고 실행 메서드로 설정합니다. 스프링 부트에서 1.2.0 버전에서는 이 애노테이션의 사용을 줄였습니다. 개발자들이 이 애노테이션 대신 제공한 방법으로 @SpringBootApplication @SpringBootApplication: : 이는 세 가지 애노테이션입니다 @EnableAutoConfiguration, @ComponentScan, @Configuration 의 조합.

스프링 MVC와 REST 애노테이션

@RequestMapping: @RequestMapping:을 맵핑하는 데 사용됩니다.네트워크 요청

입니다. 이는 많은 선택 사항을 가지고 있으며, 예를 들어 consumes, header, method, name, params, path, produces 및 value와 같습니다. 이를 클래스 및 메서드와 함께 사용합니다.

@Controller
예제 
public String getAllBooks(Model model)
    public class BooksController/@RequestMapping("-computer/science
    books)
    public String getAllBooks(Model model)
        //{
        application code
    return "bookList";
return "bookList";

} 을 사용합니다. @GetMapping: 특정 처리기 메서드에 요청을 맵핑합니다. 이는HTTP GET추출 웹 서비스 엔드포인트를 맵핑합니다. 이를 사용하여 @RequestMapping(method = RequestMethod.GET) 을 사용합니다. @PostMapping 특정 처리기 메서드에 요청을 맵핑합니다. 이는HTTP PUT웹 서비스 엔드포인트를 맵핑합니다. 이를 사용하여 HTTP POST @RequestMapping(method = RequestMethod.POST) 을 사용합니다. @PutMapping: 특정 처리기 메서드에 요청을 맵핑합니다. 이는HTTP PUT생성또는웹 서비스 엔드포인트를 맵핑합니다. 이를 사용하여 @RequestMapping(method = RequestMethod.PUT) @DeleteMapping: 을 사용합니다. HTTP DELETE 특정 처리기 메서드에 요청을 맵핑합니다. 이는삭제자원의 웹 서비스 엔드포인트입니다. 이를 사용하여 @RequestMapping(method = RequestMethod.DELETE) @PatchMapping: 을 사용합니다. HTTP PATCH 특정 처리기 메서드에 요청을 맵핑합니다. 이를 사용하여 @RequestMapping(method = RequestMethod.PATCH) @RequestBody: HTTP 요청을 메서드 파라미터에 있는 객체에 바인딩하는 데 사용됩니다.바인딩를 사용하여 내부에서는 HTTP MessageConverters 요청 본문을 변환합니다. 우리가 @RequestBody 애노테이션을 메서드 파라미터에 적용할 때, Spring 프레임워크는传入한 HTTP 요청 본문을 해당 파라미터에 바인딩합니다. @ResponseBody: 이 메서드의 반환 값을 응답 본문에 바인딩합니다. Spring Boot 프레임워크가 반환하는 객체를 JSON과 XML 형식으로 시리얼라이즈하도록 알립니다. @PathVariable: URI에서 값을 추출하기 위해 사용됩니다. 이는 URL에 경로 변수가 포함된 RESTful Web 서비스에 가장 적합합니다. 하나의 메서드에서 여러 개의 @PathVariable을 정의할 수 있습니다. @RequestParam: URL에서 쿼리 파라미터를 추출하기 위해 사용됩니다. 또는쿼리 파라미터이는 웹 애플리케이션에 가장 적합합니다. URL에 쿼리 파라미터가 없으면 기본 값을 지정할 수 있습니다. @RequestHeader: HTTP 요청 헤더의 상세 정보를 얻기 위해 사용됩니다. 이 애노테이션을 사용하여메서드 파라미터주석의 선택 사항은이름, 필수, 값, defaultValue. 제목의 각 세부 사항에 대해, 우리는 독립적인 애노테이션을 지정해야 합니다. 하나의 메서드에서 여러 번 사용할 수 있습니다 @RestController: 그를 @Controller @ResponseBody 애노테이션의 조합. @RestController 애노테이션 자체는 @ResponseBody 애노테이션으로 표시됩니다. 각 메서드에 @ResponseBody 애노테이션을 사용하지 않아도 됩니다. @RequestAttribute: 그는 메서드 파라미터를 요청 속성에 바인딩합니다. 요청 속성에 쉽게 접근할 수 있는 메서드를 제공합니다. @RequestAttribute 애노테이션을 사용하여 서버 측으로부터 채워진 객체에 접근할 수 있습니다.

주의: 우리는 RESTful Web 서비스 튜토리얼에서 이 모든 예제와 실제 예제를 사용했습니다.