레이어로 분할하는 이유? 레이어에서 EX) 서비스는 서비스만을 한다.
코드를 찾거나, 코드가 꼬이는 위험을 방지한다. 다른 레이어에 영향을 주지 않기 때문에, 수정관리가 용이하다.
1. 모델
개발 도메인의 각각의 오브젝트이다.
@data -> lombok에서 제공한다. getter ,setter, 접근자, 생성자등이 자동으로 생성된다.
@entity -> entity로 사용함을 의미 . entity, table 다 약간의 차이가 있지만 크게는 table로 인식하자.
@NoArgsConstructor 명시 선언된 생성자 없이 생성된다.
public class Person {
private String name;
private int age;
public Person(){}
}
@AllArgsConstructor. 클래스의 모든 필드를 생성자로써 받는다.
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
@Id @GeneratedValue(strategy = GenerationType.identity)
private Long id;
pk생성을 DB가 자동으로 생성. 이전 프로젝트에서 이걸 활용해서 ID는 자동생성으로 바꾼 경험이 있다.
남한테 나의 식별자가 보이지 않는다는 점에서 유용했다. 생성값이 식별자가 된다는 의미!
@COLUmn (nullable = false)
not null의 의미.
@column(name="new peoplename") . DB에 저장될 컬럼명 자체를 변경해준다.
//공부를 하다보니, this,gettersetter개념, 변수명, private public 과 같은 기초가 부족함을 깨달았고, 이를 계속해서 추가할 예정이다.
request와 response 자체를 객체로 설계하여, 객체 상태로 사용하는것이 핵심기술.
'백엔드 > 스프링+boot' 카테고리의 다른 글
Service (0) | 2023.12.21 |
---|---|
Repository (0) | 2023.12.21 |
java version 안맞을때 (0) | 2023.12.20 |
인텔리제이 사용 (0) | 2023.12.20 |
인텔리제이 배우기 / 단축키 (0) | 2023.12.20 |