06.14.2023 - 학습 일지
1. AM 09:00 ~ PM 18:00분 : BE(백엔드 KDT)
- [AM 09:00 - 11:50]
Spring - JPA
- (오전 학습)
✔ [학습 내용]
✔ Spring JPA
- IoC Container에 대해서 이론적으로 학습을 함
- Component, Service, Repository, Controller, ResponseBody, RestController, Configuration, Bean 어노테이션의 구현과 역할에 대해서 학습함
- Start.Spring.io에 접속하여 Spring Data JPA, Spring-Web, LomBock 의존성과 SQLite 까지 gradle package를 다운받고 프로젝트를 생성하고, 간단하게 Annotation의 역할의 의미를 실습을 통해 학습
Spring - JPA
- (오후 학습)
✔ [학습 내용]
✔ Spring JPA
- Object Relational Mapping에 대해서 이론을 학습함
- JPA와 Hibernate에 대해서 서로의 역할에 대해서 구분 할 수 있도록 각 쓰임새에 대해서 이론을 학습함
- JPA 프로젝트에 필요한 부분을 yaml file을 통해 sqlite, jdbc를 이용하겠다고 명시하고 Entity 객체를 사용하겠다고도 명시하는 작업을 실시함
- Entity 작업과 Annotation의 역할에 대해 간단하게 이론적으로 학습함
- Repository를 생성하여 Entity를 사용하기 위해서 EntityManager를 이용하여, JpaRepository 사용을 하도록 작업함
- Service를 통해서 CRUD 각 method를 생성하여 Controller에서 의존성을 부여할시 이용되게 작업을 함
- Controller를 통해서 Service에서의 기능을 받아서 사용하도록 CRUD 각 method에게 부여하여 실시되도록 작업함
- Repository는 Service에서 Repository의 각 Jpa method의 기능을 통해서 의존받아 CRUD에 맞게 호출시 해당 Data들이 표기되도록 작업해줌
Spring - JPA(실습)
KDT 학습내용 용어정리
2. KDT 학습내용중 기본개념 및 용어정리
- Spring - MyBatis, JPA →노션
- JPA - Repository규칙 → 노션
KDT 학습내용 용어정리(노션내용 일부)
마무리
- Spring JPA에 대해서 오늘은 학습을 했는데, 어제와 비교하면 조금 더 난이도는 있었으며, Mybatis를 사용할때에는 따로 Xml file에 SQL문을 직접 작성하여 View로 표현을 하였다면 JPA에서는 좀더 의존성을 각각 부여하여 xml을 사용하지 않고 Repository를 통해서 Entity에서 data를 받아 Servcie에게 각 method의 기능에 해당 data가 담길 수 있도록 작업하고 Controller에서는 Service에서 만들어 놓은 method를 의존하여 Controller에서는 CRUD 어노테이션을 이용하여 Data가 잘 생성되는지와 생성되었다면 조회할때 Data가 있는지와 해당 Data를 수정하고 수정이 되었는지 한번 더 조회시 수정되었는가를 확인하고, 해당 Data를 삭제하고 잘 삭제되었는지 조회하여 잘삭제 되었다면 메시지로 Data가 삭제되어 해당 Data가 없음을 표시하는 것까지 진행한다는 것을 알게되었고, 실습을 통해서도 이렇게 구현을 하므로써 둘중 선택한다면 난 JPA가 좀 더 서로의 의존성부분에서 로직을 구현할때 어렵지만 그래도 직접 Controller, Service, Repository, Entity등을 이용하면서 좀더 MVC패턴에서도 학습하면서 느꼈지만 상속받고 그 의미를 부여하고 부여받는 형태가 직관적이고 처음에 OOP를 이해하는데 어려웠지만, 현재는 OOP에 대해서도 더 친숙해지고 있다는 것이 오늘의 최고의 수확이 아닐까 생각한다. 그리고 Annotation의 각 의미를 정리를 계속 하면서도 느꼈지만, Bean에 대해서도 어떤 의미를 부여하는 것이고 Application에서 실행을 해주기 위해서 Spring FrameWork에서 짜놓은 패키지, 라이브러리의 의미에 대해서도 이용하면서 점점 더 깊게 알아가게 되어 좋았다. :) 즐겁게 학습하다보니 시간은 너무 빠르게 흘러가는 것 같고, 벌써 6월도 중순이고 해야하는 부분, 알아야하는 부분은 너무나도 방대하지만 그래도 재밌어서 좋은 것 같다! :)
'개발자 취업 프로젝트[일지]' 카테고리의 다른 글
💻개발자가 되기 위한 프로젝트(93)💻 (0) | 2023.06.18 |
---|---|
💻개발자가 되기 위한 프로젝트(92)💻 (0) | 2023.06.18 |
💻개발자가 되기 위한 프로젝트(90)💻 (0) | 2023.06.13 |
💻개발자가 되기 위한 프로젝트(89)💻 (0) | 2023.06.12 |
💻개발자가 되기 위한 프로젝트(88)💻 (0) | 2023.06.09 |