WIL (23.02.06~02.11)
[4주차] 주특기 입문 + 주특기 숙련
월~목요일은 Spring 입문, 금~토는 Spring 숙련 과정을 진행했다.
- 주특기 입문
- SpringBoot로 게시판 백엔드 서버 만들기
- Java를 활용하여 필요 클래스 구상
- Lombok과 JPA를 사용한 데이터베이스 활용
- CRUD 기능이 포함된 REST API 작성
- Spring 공부
- JPA
- Controller, Service, Repository
- REST API
- @Transactional & 영속성 컨텍스트
- 주특기 숙련
- 회원가입, 로그인 기능이 추가된 SpringBoot 게시판 백엔드 서버 만들기
- 회원가입, 로그인 구현
- JWT를 활용한 게시글 처리
- 회원과 게시글 JPA 연관관계 매핑
- 숙련 주차 강의 1회 완강
- JPA 이해, 관계설정 및 활용
- JWT 이해, 로그인 구현
- AWS 설정 및 관리
DI(Dependency Injection)
- 객체를 직접 생성하는 것이 아니라, 외부에서 생성한 후 주입 시켜주는 방식
- 생성자, setter를 통해 외부에서 생성된 객체를 사용한다.
- 스프링에서는
@Autowired
를 통해 의존성을 주입한다.(생성자, 필드, setter에 사용)
- 스프링이 프레임워크가 필요한 객체를 생성해서 관리해주기 떄문에, 이미 생성된 객체를 원하는 곳에서 사용(주입)하면 된다.
- 빈(Bean) : 스프링이 관리하는 객체
- 스프링 IoC 컨테이너 : “빈”을 모아둔 통
DI 장점
- 모듈 간의 결합도가 낮기 때문에 한 클래스를 수정할 때 다른 클래스를 수정해야 하는 상황을 막는다.
- 코드의 재사용성, 유연성이 높아진다.
- 코드를 확장하거나 변경할 때 영향을 최소화한다.
IoC(Inversion of Control)
- 객체 관리의 권한이 개발자에서 프레임워크(컨테이너)로 넘어감
- 객체의 생성부터 생명주기 관리까지 컨테이너가 한다.
- 일반적 : 개발자가 자신이 필요한 객체를 생성해서 사용한다.
- 스프링 : 이미 생성된 객체를 용도에 맞게 가져다 사용한다.
- 스프링이 객체(Bean)를 생성해놓고 IoC 컨테이너에 넣어두었다.
- 개발자는 용도에 맞게 이미 생성된 객체를 가져다 사용하면 된다. → 의존성 주입
이번주 TIL 모음
스프링 부트(Spring Boot)로 게시판 벡엔드 서버 만들기
JPA란 무엇인가?
[Spring] Controller, Service, Repository를 알아보자
RESTful API란?
@Transactional 사용과 영속성 컨텍스트(persistence context)
Spring Data JPA를 활용한 데이터 정렬 구현(JPA method & Pageable, Page)
MVC 패턴과 Spring MVC
JPA 연관관계 매핑
프록시와 연관관계
[Spring] DI / IoC 란 무엇인가?