이 글은 코드프레소 Java 웹 개발 체험단 활동 중 Spring 웹 개발 초급 강좌를 기반으로 작성하였습니다.
코드프레소 URL: https://www.codepresso.kr/
먼저 강의 목차는 아래 그림과 같이 구성되어 있습니다.
Spring 웹 개발 초급 코스 주요 커리큘럼
->
Data AccessLayer란 Database에 접근하여 데이터 저장, 조회 등을 수행하는 역할이다. Service와 Database 사이의 추상화 된 계층으로 Database 기술이 변경 되면 Data Access Layer의 코드는 변경 될 수 있지만, Service 계층의 코드는 변경되지 않는다.
SQL Mapper
- Java에서 SQL Mapper 적용을 위해 MyBatis가 일반적으로 사용 됨
- 국내에서 많은 기업의 대규모 프로젝트에서 활용되고 있음
ORM
- Java, Spring에서 ORM 적용을 위해 Hibernate와 Spring Data JPA가 주로 사용 됨
- 전 세계적으로는 SQL Mapper보다 사용률이 월등히 높으며, 국내에서도 사용률이 높아져 가고 있음
Maven이란 Java 프로젝트에서 사용 되는 빌드 자동화 도구이다.(소스코드를 실행 가능한 SW 산출물로 만드는 과정) Maven은 2가지의 주요 기능이 있는데 첫 번째로 프로젝트 구성 및 빌드 관리가 있고 두 번째로 라이브러리 의존성 관리가 있다.
사용할 외부 라이브러리 정보를 명시하면 자동 다운로드 후 사용
- 개발자가 필요한 라이브러리를 일일이 다운로드 받아 설정 할 필요 없음
사용할 라이브러리가 Maven Repository에 등록 되어 있어야 함
- Maven Central Repository: Maven에서 관리하는 중앙 Repository
Maven pom.xml
- pom - Project Object Model
- Maven이 프로젝트를 빌드하기 위해서 필요한 정보를 기술하는 XML 파일
- 프로젝트의 정보
- 프로젝트가 필요로 하는 라이브러리 의존성 정보
- 빌드 단계에서 사용 되는 정보
최소한의 pom.xml
- project 태그로 시작
- groupId: 다양한 프로젝트 간의 식별 가능한 고유한 이름(보통 회사 url의 역순)
- artifactId: 프로젝트 하위의 애플리케이션 이름, 빌드 후 생성되는 산출물 파일 명
- version: 현재 개발중인 application의 버전
dependencies 태그 하위에 다수의 dependency로 라이브러리 명시
dependency 태그에 groupId, artifactId, version 등을 명시
MyBatis와 H2 Database를 위한 Maven 의존성 추가
H2 Database란 경량 RDBMS로 메모리에 데이터 저장이 가능하다. 별도의 설치 없이 Maven 의존성만으로 Spring Boot에서 활용이 가능하고 개발 단계에서 테스트용으로 가볍게 활용이 가능하다.
Spring 애플리 케이션 설정 예시