English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Spring Boot 애너테이션은 프로그램에 대한 데이터를 제공할 수 있는 메타데이터 형식입니다. 다시 말해, 애너테이션은 프로그램에 대한 보완정보에 대해 논의할 것입니다. 이는 우리가 개발한 애플리케이션의 일부가 아닙니다. 코드에 대한 설명에 대한 직접적인 영향을 미치지 않습니다. 컴파일된 프로그램의 작동을 변경하지 않습니다.
이 절에서 우리는 중요한 스프링 부트 애노테이션우리는 이 튜토리얼의 후반부에서 사용할 것입니다.
@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 의 조합.
@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 애노테이션을 사용하여 서버 측으로부터 채워진 객체에 접근할 수 있습니다.