@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
private User user;
위의 코드에서 칼럼의 이름은 _id 고 적어주는건 왜 그냥 user로 적을까?
https://www.erdcloud.com/d/XJi9uZn2eqpnRxjfQ
**클래스는 명사로 시작
**하고 **메소드는 동사로 시작
**해야함
@RequiredArgsConstructor
public class TestService {
private final RefreshTokenRepository refreshTokenRepository;
private final JwtTokenProvider jwtTokenProvider;
private final JwtProperty jwtProperty;
}
왜 이렇게 final로 DI를 해줄까??
→ 불변해야 하는 것들은 final로 선언해서 명확하게 해줘야 한다
@Getter
@NoArgsConstructor
public class UserRequest {
@NotBlank(message = "id 에는 공백이 없어야 합니다.")
private String accountId;
@NotBlank(message = "password 에는 공백이 없어야 합니다.")
@Size(min = 8, max = 60)
private String password;
@NotBlank
private String name;
@NotNull
private Long studentId;
}
스프링부트 스타터에는 jackson 라이브러리가 포함돼 있는데
jackson은 직렬화(객체 → Json)할 때는 getter를 사용하고
역직렬화(Json → 객체)할 때는 기본 생성자와 setter를 사용