1. @GetMapping
- 설명: HTTP GET 요청을 처리하는 메서드에 사용된다.
@GetMapping("/home")
public String home() {
return "home";
}
기능: URL이 "/home"인 GET 요청을 처리한다. 일반적으로 데이터 조회에 사용된다.
2. @PostMapping
- 설명: HTTP POST 요청을 처리하는 메서드에 사용된다.
@PostMapping("/submit")
public String submit(@RequestBody FormData data) {
// 데이터 처리 로직
return "result";
}
기능: URL이 "/submit"인 POST 요청을 처리한다. 주로 데이터 생성이나 서버로 데이터를 제출할 때 사용된다.
3. @RequestMapping
- 설명: 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 처리할 수 있는 메서드 또는 클래스에 사용된다.
@RequestMapping(value = "/api", method = RequestMethod.GET)
public String api() {
return "api";
}
기능: 특정 URL과 HTTP 메서드와 매핑된다. @GetMapping, @PostMapping 등의 특화된 어노테이션으로 대체될 수 있다.
4. @RequiredArgsConstructor
- 설명: final 필드와 @NonNull 필드를 포함하는 생성자를 자동으로 생성한다.
@RequiredArgsConstructor
public class MyClass {
private final String name;
private final int age;
}
기능: 필요한 인자를 가지는 생성자를 생성하여 의존성 주입 등에 사용될 수 있다.
5. @Getter
- 설명: 클래스의 모든 필드에 대해 getter 메서드를 자동으로 생성한다.
@Getter
public class MyClass {
private String name;
private int age;
}
기능: 각 필드에 대해 getName(), getAge()와 같은 getter 메서드를 생성한다.
6. @Setter
- 설명: 클래스의 모든 필드에 대해 setter 메서드를 자동으로 생성한다.
@Setter
public class MyClass {
private String name;
private int age;
}
기능: 각 필드에 대해 setName(String name), setAge(int age)와 같은 setter 메서드를 생성한다.
7. @NonNull
- 설명: 필드, 메서드 매개변수 또는 메서드 반환값이 null이 아니어야 함을 명시한다.
public void setName(@NonNull String name) {
this.name = name;
}
기능: 컴파일러 수준에서 null 검사를 강화한다.
8. @NoArgsConstructor
- 설명: 파라미터가 없는 기본 생성자를 자동으로 생성한다.
@NoArgsConstructor
public class MyClass {
private String name;
private int age;
}
기능: 기본 생성자를 자동으로 생성합니다. 초기화에 사용할 수 있다.
9. @AllArgsConstructor
- 설명: 클래스의 모든 필드를 파라미터로 받는 생성자를 자동으로 생성한다.
@AllArgsConstructor
public class MyClass {
private String name;
private int age;
}
기능: 모든 필드를 초기화하는 생성자를 생성하여 객체 생성 시 모든 값을 설정할 수 있다.
10. @Data
- 설명: @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode를 포함하는 복합 어노테이션이다.
@Data
public class MyClass {
private String name;
private int age;
}
기능: 클래스의 모든 필드에 대해 getter, setter, toString, equals, hashCode 메서드를 자동으로 생성한다.
11. @ToString
- 설명: 클래스의 toString() 메서드를 자동으로 생성한다.
@ToString
public class MyClass {
private String name;
private int age;
}
기능: 객체의 문자열 표현을 제공하는 toString() 메서드를 생성한다.
12. @Value
- 설명: 불변 객체(immutable object)를 만들기 위한 어노테이션으로, @Getter, @AllArgsConstructor, @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE), @ToString, @EqualsAndHashCode를 포함한다.
@Value
public class ImmutableClass {
String name;
int age;
}
기능: 모든 필드를 final로 만들고, 불변 객체를 생성합니다. 생성자, getter, toString, equals, hashCode 메서드를 자동으로 생성한다.
'Spring' 카테고리의 다른 글
[Spring] web.xml 한글 필터 (0) | 2024.05.20 |
---|---|
[Spring] File Upload (0) | 2024.05.20 |
[Spring] Maven Project (0) | 2024.05.20 |
[Spring] MVC (0) | 2024.05.20 |
[Spring] Annotation (2) | 2023.10.18 |