개발 기록

Spring Boot를 활용한 웹 개발 초급 본문

코드프레소

Spring Boot를 활용한 웹 개발 초급

수염차 2022. 3. 14. 22:41

코드프레소 Java 웹 개발 체험단 활동 중

Spring Boot를 활용한 웹 개발 초급 강좌를 기반으로 작성하였습니다.

코드프레소 URL: https://www.codepresso.kr/


Spring Boot와 MyBatis의 연동

Data Access Layer의 개념

계층형 아키텍처

  • Database에 접근하여 데이터 저장, 조회 등을 수행하는 역할
  • 서비스와 데이터베이스 사이의 추상화 된 계층

데이터에 접근하기 위한 기술

  • JDBC ( Java Database Connectivity ) - database에 접그나기 위한 java의 표준 API
  • JDBC Template - JDBC를 효율적으로 사용하기 위한 Spring API
  • SQL Mapper - SQL과 Java객체를 매핑하는 기술
  • ORM ( Object Relational Mapping ) - RDBMS의 테이블과  Java 객체를 매핑하는 기술 / ORM Framework가 객체와 테이블을 매핑하는 역할 수행, SQL을 자동 생성

MyBatis 활용 준비 1 - Maven 의존성 설정

Maven

  • Java프로젝트에서 사용되는 빌드 자동화 도구
  • 주요 기능 
    • 프로젝트 구성 및 빌드 관리
    • 라이브러리 의존성 관리


MyBatis 활용 준비 2 - 스프링 설정과 H2 DB 활용

H2 Database

  • 경량 RDBMS - 메모리에 데이터 저장 가능
  • 별도의 설치 없이 의존성만으로 스프링부트에서 활용 가능
  • 개발 단계에서 테스트용으로 가볍게 활용 가능

MyBatis 활용 준비 3 - MyBatis 설정

  • application.properties에 설정 추가
    • mybatis의 설정 파일의 위치 설정

  • application.properties
    • spring framework가 읽고 해석하여 명시된 설정에 대한 작업을 수행
  • mybatis-config.xml
    • mybatis framework가 읽음
    • SQL이 작성된 Mapper 파일의 위치 정보를 포함하여 다양한 설정 가능
  • todo-mapper.xml
    • todo 테이블에 대한 SQL문이 작성 된 파일

MyBatis를 활용한 Todo 저장 API 구현

인터페이스 이름과 namespace 일치, 메서드명과 insert id값이 일치해야함

  • TodoService에서 TodoMapper로의 의존성 주입 설정
  • TodoService의 addTodo 메소드 수정
  • 포스트맨으로 저장 api 테스트 가능
    • API 호출 -> TodoController.addTodo( ) -> TodoService.addTodo( ) -> TodoMapper.save( ) -> todo-mapper.xml/save -> db에 접근

블로그 기본 기능 개발

  • DTO
    • Data Trasfer Object
    • 데이터를 저장하여 다른 곳으로 전송하기 위한 목적의 객체

 

Comments