Backend/Spring6 JPA vs MyBatis 도입 프로젝트를 새롭게 시작하면서, 둘 중 어떠한 기술 스펙을 정하는 것이 더 효율적인가에 대해서 고민하게 되었다. JPA는 1년 전쯤 백엔드 프로젝트를 하면서 다뤄본 적이 있었고, MyBatis는 SSAFY 교육 과정에 포함되어 있어서 새롭게 배웠었다. 그러나 막상 정확하게 어떤 점이 다르고 어떤 점에서 이점이 있는지 설명하려고 하니 입이 턱 막혔다. 팀원들에게 해당 공유하고 제대로된 의사결정을 하기 위해서, 제대로 알아보고 내용을 정리하려고 한다. JPA, MyBatis 등장 배경 기존에 JDBC를 사용했을 때는 sql문이 코드에 섞여 있었고 만들어 요청하는 과정에서 sql문 생성시 String을 붙이고 자르는 등의 작업이 필요해서 sql문이 조금만 길어져도 번거롭고 관리도 힘들었다. 따라서 코드와 .. 2023. 7. 9. [Spring] 회원 관리 예제 - 웹MVC 개발 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 회원 웹 기능 - 홈 화면 추가 • 컨트롤러가 정적파일보다 우선순위가 높아서 index.html이 존재해도 homeController가 먼저 실행됩니다. //src\main\java\eyijin\hellospring\controller\HomeController.java package eyijin.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.. 2022. 7. 2. [Spring] 스프링 빈과 의존관계 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자 정형화된 패턴 Controller: 외부 요청을 받음 Repository: 데이터 저장 Service: 비즈니스 로직 만들기 스프링 빈을 등록하는 2가지 방법 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 ⇒ 2가지 방법 모두 알아야 한다! 컴포넌트 스캔의 원리 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다. @Control.. 2022. 7. 1. [Spring] 회원 관리 예제 - 백엔드 개발 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 학습을 위한 것이므로 단순한 비즈니스 요구사항을 전제로 한다. 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 데이터 저장소(DB)가 선정되지 않은 가상의 시나리오 일반적인 웹 애플리케이션 계층구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접.. 2022. 6. 26. [Spring] 스프링 웹 개발 기초 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 정적 컨텐츠 MVC와 템플릿 엔진 API 정적 컨텐츠 URL로 접속하면 서버가 파일을 브라우저로 바로 내려주는 방식 예시 // src > main > resources > static > hello-static.html 정적 컨텐츠 입니다. http://localhost:8080/hello-static.html 접속해서 확인 원리 이미지 우선순위 1) hello-static 관련 컨트롤러 2) resources내부 파일 MVC와 템플릿 엔진 MVC: Model, View, Controlle.. 2022. 6. 25. [Spring] 프로젝트 환경설정 프로젝트 환경설정 프로젝트 생성 라이브러리 살펴보기 View 환경설정 Build하고 실행하기 프로젝트 생성 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 1. 프로젝트 생성 Spring initializr 사용하여 스프링 프로젝트 생성합니다. 해당 페이지는 Spring Boot 기반으로 Spring 프로젝트를 만들어주는 사이트입니다. 아래의 선택지들을 하나씩 함께 살펴봅시다. Project : Maven VS. Gradle 여기서, 빌드 도구로 Maven 또는 Gradle을 선택할 수 있습니다. 빌드 도구는 필요한 라이브러리를 가져오고.. 2022. 6. 24. 이전 1 다음