스프링 강의 3일차
스프링만으로 개발을 할 수 있는 건아니다
그저 도구중 하나로 바라보자
당장 사용하는데 불필요한 지식보다는
스프링을 먼저 느껴보자
작은 용어에 집착하지 말자
우리는 사용하는 것에 집중하자
프레임워크를 사용하는데 필요한 필수 지식은 사실 많지 않다
좀 편하게 쓸 수 없을까?
바로 편하게 개발을 할 수 없을까?
스프링을 만든 이유 -> 개발을 편하게 하기 위해서
구조를 패턴화(습관화)하자
프레임 워크를 제작한 제작자가 정한 규칙을 그대로 지켜야 하기 때문에
쉽게 생각하자 어렵게 생각하면 끝이 없다
막상 하는건 똑같고 비슷하다
다만 이유는 모두 존재하지만 처음에는 익숙해지는데 집중하자
주입 : 남(다른클래스에 있는)의 코드를 갖다가 쓰는 것 (정확히는 아니지만 일단 이렇게 이해하자)
스프링은 단지 도구이며 이 도구들에 익숙하지 않아서 잘 사용하지 못하는 것이다
고로 익숙해지자
의존성 추가
노트
프로젝트에 들어가면 먼저 위에 5가지 페키지 구조를 만들어서 틀을 잡아주자
5형제 어노테이션을 붙여주자
@Getter
@Entity
@NoArgsConstructor
@Id
@GeneratatedValue(strategy = GenerationType.IDENTITY)
Repository는 interface
임에 주의!
@Service
@RequiredArgsConstructor
서비스는 그냥 서비스 어노테이션을 붙여주자(서비스니깐)
@RestController
@RequiredArgsConstructor
컨트롤도 마찬가지
DTO를 만드는 이유는 내가 원하는 것만 반환해주기 위해서
따로 만들어주는 습관을 가지자 (나중을 위해)
Response는 final
생성자가 있다
Request는 final이 붙지 않는다
ResponseEntity.ok
는 상태 값을 200으로 변환시켜 주기 위해서 사용
🌴 CRUD에서 R이 아닌 로직이 포함된 컨트롤러를 제외한
메소드에는 `@Transactional` 붙이기!
🌴 Request와 Response는 ~~Entity~~가
아닌 DTO를 반드시 이용한다.
(DTO에 `@Getter` 잊지 않기)
스프링은 어렵지 않다 (패턴이다)
코드 작성 순서를 따라가면 완성할 수 있다
오늘은 스프링을 처음 들어갈 때 어떻게 구조를 잡는지 감을 익혀보았는데, 먼저 패키지 구조를 잡고, Repository부터 Service,Controller까지 타고가면서 클래스를 만들어 주고 다시 Controller에서 필요한 구조를 Service에서 Dto를 활용하여 객체를 만들어주고 활용하는 과정이 조금은 감을 잡을 수 있어서 발전하는 기분이 들었다. 앞으로 위의 과정이 반사적으로 나오도록 반복해서 내 것 으로 만들어야겠다.
이렇게 익숙해진 후에 이론적인 부분을 공부하면 더 잘 이해할 수 있지 않을까?