1. 스프링 프로젝트 기본 파일
2. Profile 설정하기
3. 스프링 코드 아키텍쳐 3-layered
- 스프링 부트를 이용해서 코드를 짜려면 어떻게 짜야할까?
- 코드아키텍쳐 : 소프트웨어구조/구성 요소 조직적 정리 -> 코드 효율적 관리
- 어떤 코드 아키텍쳐들이 있을까?
- 3-layer(3-tier) 아키텍쳐
- 3-layer 아키텍쳐를 사용하는 이유
1. Web layer
- RestContorller와 Dispatcher Servlet
- DTO(Data Transfer Object) : 데이터를 담아 전달하는 객체
- Jackson 라이브러리 : DTO <-> Json 직렬화 / 역직렬화 하는 라이브러리
- Jackson 라이브러리는 Getter를 보고 Getter가 있는 속성만 가져올 수 있음 -> 그래서 DTO에 getter를 추가해야함
1. Dao layer(=Repository layer) 필수 개념
- Entity : 데이터베이스 테이블과 1대1 매핑되는 자바 객체
- DTO와 Entity 분리해서 구현하기!
- Repository와 구현체
- 어떤 기술을 쓸 것이냐? JDBC template -> 스프링에서 제공하는 JDBC를 사용한 DB 상호작용 도구
- DataSource : 스프링에서 DB와 커넥션을 관리하고 제공하는 Bean
- Dao layer 인터페이스로 구현하는 이유
- 강한결합과 느슨한 결합