카테고리 없음

2024. 7. 31. (수) 슈퍼코딩 부트캠프 Day 52 / 주특기 6주차

태영9922 2024. 8. 1. 10:34

 

1. 스프링 프로젝트 기본 파일

스프링 생성 시 기본 생성되는 파일

2. Profile 설정하기

3. 스프링 코드 아키텍쳐 3-layered

  • 스프링 부트를 이용해서 코드를 짜려면 어떻게 짜야할까?
  • 코드아키텍쳐 : 소프트웨어구조/구성 요소 조직적 정리 -> 코드 효율적 관리
  • 어떤 코드 아키텍쳐들이 있을까?
  • 3-layer(3-tier) 아키텍쳐
  • 3-layer 아키텍쳐를 사용하는 이유

1. Web layer

  • RestContorller와 Dispatcher Servlet
  • DTO(Data Transfer Object) : 데이터를 담아 전달하는 객체
빈 생성자와 getter가 있어야 한다.
  • Jackson 라이브러리 : DTO <-> Json 직렬화 / 역직렬화 하는 라이브러리
  • Jackson 라이브러리는 Getter를 보고 Getter가 있는 속성만 가져올 수 있음 -> 그래서 DTO에 getter를 추가해야함

 


1. Dao layer(=Repository layer) 필수 개념

  • Entity : 데이터베이스 테이블과 1대1 매핑되는 자바 객체
  • DTO와 Entity 분리해서 구현하기!
 
 
DTO는 자바 간의 데이터 이동이고, Entity는 자바와 DB간의 연결을 담당하는 역할 -> 그래서 구분해야 한다
  • Repository와 구현체
  • 어떤 기술을 쓸 것이냐? JDBC template -> 스프링에서 제공하는 JDBC를 사용한 DB 상호작용 도구
  • DataSource : 스프링에서 DB와 커넥션을 관리하고 제공하는 Bean

 

  • Dao layer 인터페이스로 구현하는 이유
  • 강한결합과 느슨한 결합