[인프런 워밍업 클럽 BE 0기] 발자국 2주차

[인프런 워밍업 클럽 BE 0기] 발자국 2주차

Day6 스프링 컨테이너의 의미와 사용 방법

스프링 컨테이너와 스프링 빈이 무엇인지 이해하고 스프링 컨테이너가 왜 필요한지, 좋은 코드와 어떻게 연관이 있는지 이해하였다. 스프링 빈을 다루는 여러가지 방법을 이해한다.

@RestController

UserController 클래스를 API의 진입 지점으로 만들 뿐 아니라 스프링 빈으로 등록시킨다.

 

스프링 빈, 서버가 시작되면 스프링 서버내부에 거대한 컨테이너를 만든다. 컨테이너 안에는 클래스가 들어가게 된다.

 

@Primary VS @Qualifier 우선 순위?

-> 사용하는 쪽에서 직접 적어준 @Qualifier가 우선으로 적용된다.

 

  •  미션

    • https://www.inflearn.com/blogs/6852

    •  문제 #1은 강의를 들으면서 따라갈 수 있었는데

    • 문제 #2의 MySql과 Memory로 repository를 나누는데 다른 사람들도 memory부분은 못하신 분들이 많았다.

    • memory부분은 아직 어떻게 해야할 지 감이 안 잡힌다.

 

Day7 Spring Data JPA를 사용한 데이터베이스 조작

문자열 SQL을 직접 사용하는 것의 한계를 이해하고 해결책인 JPA, Hibernate, Spring Data JPA가 무엇인지 이해하였고

Spring Data JPA를 이용해 데이터를 생성, 조회, 수정, 삭제를 해보았다.

 

  •  미션

    • https://www.inflearn.com/blogs/6893

    •  JPA로 바꾸는 방법을 이해하는데 시간이 걸렸지만 문제 #1, #2는 혼자 잘 만들어볼 수 있었다.

    • 문제 #3에서 다른 분들의 코드들을 보면서 GTE와 LTE로 나누는 부분이 조금 힘들었었다.

    • 코치님이 enum class를 사용하면, 코드만 보고도 option에 들어오는 문자열의 종류를 확인할 수 있고,

      유지보수가 훨 씬 간결해지기 때문에 사용하기에 딱 적절하다는 팁을 남겨주셔서 머리를 탁치게 되는 시간 이였다.

 

Day8 트랜잭션과 영속성 컨텍스트

트랜잭션이 왜 필요한지 이해하고 스프링에서 트랜잭션을 제어하는 방법을 익혀보았다.

영속성 컨텍스트와 트랜잭션의 관계를 이해하고 영속성 컨텍스트의 특징을 알아보았다.

 

@Transactional

SELECT쿼리만 사용한다면 read Only옵션을 사용할 수 있다.

영속성 컨텍스트란, 테이블과 매핑된 Entity 객체를 관리 / 보관하는 역할을 한다.

 

스프링에서는 트랜잭션을 사용하면 영속성 컨텍스트가 생겨나고 트랜잭션이 종료되면 영속성 컨텍스트가 종료된다.

  

Day9 조금 더 복잡한 기능을 API로 구성하기

 책 등록, 책 대출, 책 반납 API를 빠르게 만들어 보면서 지금까지 다루었던 모든 개념을 실습해 보았다.

 


2주차 후기

  • 2주차에 들어서니까 1주차에 비해서 코드 읽히는 속도가 빨라졌고 이해가 가는 것이 많아졌다

  • 질문 답변에서도 나만 이렇게 아무것도 모르나 생각이 들었지만 이제 조금씩 그 질문들이 이해가 간다.

  • 아직 복습이 완벽하지 않은데 워밍업 클럽이 끝나고서도 열심히 해야겠다.

 

댓글을 작성해보세요.

채널톡 아이콘