본문 바로가기

TIL(Today I Learned)

TIL-230626

📝오늘 공부한 것

  • 스파르타코딩클럽 Spring 입문주차 2주차

 

알게 된 점

[Spring의 3 Layer Architecture]

Controller :

- 클라이언트의 요청을 받음

- 요청에 대한 로직 처리는 Service에게 전달

- Request 데이터가 있다면 Service에 같이 전달

- Service에서 처리 완료된 결과를 클라이언트에게 응답

Service :

- 사용자의 요구사항을 처리(‘비즈니스 로직’)하는 실세 중에 실세

- DB저장 및 조회가 필요할 때는 Repository에게 요청

Repository :

- DB 관리 (연결, 해제, 자원 관리)

- DB CRUD 작업을 처리

 

[Spring의 IoC(제어의 역전)와 DI(의존성 주입)]

- IoC, DI는 객체지향의 SOLID 원칙 그리고 GoF의 디자인 패턴과 같은 설계원칙 및 디자인 패턴입니다.

- 이 둘을 더 자세하게 구분해 보자면 IoC는 설계 원칙에 해당하고 DI는 디자인 패턴에 해당합니다.

 

[Spring IoC 컨테이너]

- Spring 프레임워크가 필요한 객체를 생성하고 관리하는 역할을 대신 해줍니다.

- 빈(Bean) : Spring이 관리하는 객체

- Spring IoC 컨테이너 : ‘Bean’을 모아둔 컨테이너

 

[ORM(Object-Relational Mapping)]

객체와 DB의 관계를 매핑 해주는 도구

 

[JPA(Java Persistence API)]

- 자바 ORM 기술에 대한 표준 명세

- JPA는 애플리케이션과 JDBC 사이에서 동작되고 있습니다.

- JPA를 사용하면 DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해줍니다.

- 또한, 객체를 통해 간접적으로 DB 데이터를 다룰 수 있기 때문에 매우 쉽게 DB 작업을 처리할 수 있습니다.

 

[Entity]

- JPA에서 관리되는 클래스 즉, 객체를 의미합니다.

- Entity 클래스는 DB의 테이블과 매핑되어 JPA에 의해 관리됩니다.

 

[영속성 컨텍스트]

Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간

 

[Spring Data JPA]

- JPA를 쉽게 사용할 수 있게 만들어놓은 하나의 모듈

- JPA를 추상화시킨 Repository 인터페이스를 제공

- Repository 인터페이스는 Hibernate와 같은 JPA구현체를 사용해서 구현한 클래스를 통해 사용

- JpaRepository 인터페이스를 구현하는 클래스를 자동으로 생성

- Spring 서버가 뜰 때 JpaRepository인터페이스를 상속받은 인터페이스가 자동으로 스캔이 되면, 해당 인터페이스의 정보를 토대로 자동으로 SimpleJpaRepository 클래스를 생성해 주고, 이 클래스를 Spring ‘Bean’으로 등록

- 따라서 인터페이스의 구현 클래스를 직접 작성하지 않아도 JpaRepository 인터페이스를 통해 JPA의 기능을 사용할 수 있음.

 

 

느낀 점🤔

그냥...다....어렵다.....

2주차 강의를 듣긴 했는데 놓친 것도 너무 많고 이해 안가는 부분도 너무 많다ㅠㅠ

다시 한번 들어보면서 이해할 수 있는 것들을 최대한 이해해 봐야겠다,,

'TIL(Today I Learned)' 카테고리의 다른 글

TIL-230629(application.properties 민감정보 숨기기)  (0) 2023.06.29
TIL-230628  (0) 2023.06.29
TIL-230624  (0) 2023.06.24
TIL-230623  (0) 2023.06.23
TIL-230621  (0) 2023.06.22