[Spring] Annotation(Lombok)

2024. 5. 20. 18:21·Spring

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
'Spring' 카테고리의 다른 글
  • [Spring] File Upload
  • [Spring] Maven Project
  • [Spring] MVC
  • [Spring] Annotation
whkim98
whkim98
꾸준히 내 것으로 만드는 게시글을 작성하자
  • whkim98
    내 일기장
    whkim98
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project
        • Insty
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
      • DevOps
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    js
    Cloud
    javascript
    프로그래머스
    Python
    해시 암호화
    Tomcat
    web
    코딩
    Java
    코테
    spring
    jsp
    git
    React
    SQLD
    AWS
    gitbash
    정보처리기사
    Postman
    RDBMS
    annotation
    node
    django
    CORS
    eGov
    html
    github
    코딩테스트
    AdSP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
whkim98
[Spring] Annotation(Lombok)
상단으로

티스토리툴바