기록양식 (TIL)
1. 사용 개념
2. 의문점 or 문제
3. 시도해 본 것들(+응용) or 삽질
4. 해결
5. 알게 된 점(회고)
Controller의 코드를 유지보수와 수정 등이 용이하게 하기 위해서Service와Repository로 나누어서 관리

강의 예제와 비슷한 구조의 게시글을 만들기

강의 예제에서는 JdbcTemplate을 사용, 그 뒤에 수정하면서 JPA를 활용해서 분리
Jdbc의 사용률이 낮아 JPA방식으로 하는데, Jdbc로 작업하던걸 중간중간에
- IoC(제어의 역전), DI(의존성 주입)
- IoC Container 와 Bean
- JPA
- Entity
- 영속성 컨텍스트
등의 개념들이 나와서 각각의 찢어진 개념들을 설명하고 다시 메모장 프로젝트를 하는 식으로 진행하니,흐름을 쫓아갈 수가 없었다.
강의 예제에서는
1.Controller를 작성
2.Jdbc를 활용해서Service,Repository구현
3. 이후에Jdbc를 삭제하고,Jpa로 구현
4. 순서가 다시Repository>Service>Controller로 수정 구현
처음부터 예제를 만든다고 했을 때, Jdbc의 과정을 생략하며 바로 Jpa로 구현하려고 하니 너무 헷갈렸다.
강의를 반복해서 보며 클론코딩식으로 해결
- build.gradle의
dependencies에 > JPA 설정과 MySQLimplementation추가PostRepository에interface, extends JpaRepository로 JPA 불러오기Entity에id값과column으로 데이터 저장
PostService에PostRepository를 외부로부터 주입받는 생성자를 설정하고, 각각의Controller의Mapping을 담당하는 메서드를 생성- 각 메서드 안에 DB에 저장되는 부분을
PostRepository랑 연계해서 의존성 낮추기- 수정된
PostService코드를Controller에 삽입
build.gradle

Repository

Service

Contorller

Entity


- 컨트롤러 비밀번호 조회 후, 수정 삭제 기능 추가
- 비밀번호 필드 값 수정
- Request, param 등 각 요청에 대한 개념 이해 부족
- Entity, 영속성, 테스트 하는 부분에 대한 이해 부족
- IoC, DI / Bean 이해 부족
- JPA 와 데이터베이스 간의 연결, Entity, Column 이해 부족
받아쓰기 식의 코딩만 해와서 이 코드가 왜? 이렇게 일어나는가에 대한 근본적 이해 부족
기본 개념 공부를 더 해야된다.