본문 바로가기

BackEnd : Spring/SpringBoot

[SpringBoot] 어노테이션 정리

겨울에 진행했던 Linkor 프로젝트를 바탕으로 내가 쓴 코드를 정리하며 스프링부트 개념들을 하나씩 훑어 가려고 한다.

User

@Getter
@Setter
@Table(name = "USER")
@NoArgsConstructor
@Entity
public class User {

    @Id
    @Column(name = "email", unique = true)
    private String email;

    @Column(name = "name")
    private String name;

    @Column(name = "role")
    private String role;

    @Column(name = "gender")
    private String gender;

    @Column(name = "locationsido")
    private String locationsido;

    @Column(name = "locationgu")
    private String locationgu;

    @Column(name = "tutoringmethod")
    private String tutoringmethod;

    @Column(name = "introduction")
    private String introduction;

    @Column(name = "photourl")
    private String photourl;

    @Builder
    public User(String email, String name, String role, String gender, String locationsido,
                String locationgu, String tutoringmethod, String introduction, String photourl) {
        this.email = email;
        this.name = name;
        this.role = role;
        this.gender = gender;
        this.locationsido = locationsido;
        this.locationgu = locationgu;
        this.tutoringmethod = tutoringmethod;
        this.introduction = introduction;
        this.photourl = photourl;
    }

    //마이페이지 업데이트
    public void updateMypage(String gender, String locationsido, String locationgu, String tutoringmethod, String introduction){
        this.gender = gender;
        this.locationsido = locationsido;
        this.locationgu =locationgu;
        this.tutoringmethod = tutoringmethod;
        this.introduction = introduction;
    }
}
  • Getter, Setter : Lombok 어노테이션으로, 모든 필드에 대한 getter와 setter 메서드를 자동으로 생성
  • @Table(name = "USER") : 이 클래스가 데이터베이스의 USER 테이블과 매핑된다
  • NoArgsConstructor : Lombok 어노테이션, 파라미터가 없는 기본 생성자를 자동으로 생성
  • @Entity : 이 클래스가 JPA 엔터티임을 명시
  • @Builder: Lombok 어노테이션으로, 빌더 패턴을 사용하여 객체를 생성할 수 있게 함