본문 바로가기

스프링 부트 3 백앤드 개발자 되기 : 자바편6

[6장] 블로그 기획하고 API 만들기(2) 6.4 블로그 글 목록 조회를 위한 API 구현하기 6.4.1 서비스 메서드 코드 작성하기 1단계. findAll() 메서드 추가 package me.kyungsoolee.springbootdeveloperblog.service; import lombok.RequiredArgsConstructor; import me.kyungsoolee.springbootdeveloperblog.domain.Article; import me.kyungsoolee.springbootdeveloperblog.dto.AddArticleRequest; import me.kyungsoolee.springbootdeveloperblog.repository.BlogRepository; import org.springframework.. 2023. 7. 25.
[5장] 데이터베이스 조작이 편해지는 ORM 5.1 데이터베이스란? 5.1.1 데이터베이스 관리자, DBMS - 데이터베이스를 관리하기 위한 소프트웨어(Database Management System) - 관계형, 객체-관계형, 도큐먼트형, 비관계형 등으로 분류. - 관계형 모델을 기반 (테이블 형태로 이루어진 데이터 저장소) - 각 행은 고유 키(ID)를 가지고 있음 - (ex. H2, MySQL 등 ...) 더보기 ❗️꼭 알아야 할 데이터베이스 용어 1. 테이블 2. 행 3. 열 4. 기본키 5. 쿼리 5.2 ORM이란? - ORM(object Relational Mapping)은 자바의 객체와 데이터를 연결하는 프로그래밍 기법. - 자바 언어로만 데이터베이스를 다룰 수 있게 한다. [장점] 1. SQL을 직접 작성하지 않고 사용하는 언어로 데.. 2023. 7. 25.
[4장] 스프링 부트 3와 테스트 4.1 테스트 코드 개념 익히기 4.1.1 테스트 코드란? - given-when-then 패턴 - given : 테스트 실행을 준비하는 단계 - when : 테스트를 진행하는 단계 - then : 테스트 결과를 검증하는 단계 // given-when-then 패턴의 테스트 코드 예시 @DisplayName("새로운 메뉴를 저장한다.") @Test public void saveMenuTest() { // given : 메뉴를 저장하기 위한 준비 과정 final String name = "아메리카노"; final int price = 2000; final Menu americano = new Menu(name, price); // when : 실제로 메뉴를 저장 final long savedID = men.. 2023. 7. 25.
[3장] 스프링 부트3 구조 이해하기 - 프레젠테이션 계층 - 비즈니스 계층 - 퍼시스턴스 계층 3.1 스프링 부트 3 구조 살펴보기 3.1.1 계층 이해 컨트롤러 서비스 리포지토리 데이터베이스 프레젠테이션 계층 비즈니스 계층 퍼시스턴스 계층 - 프레젠테이션 계층 - HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 계층 (컨트롤러가 프레젠테이션 계층 역할) - 비즈니스 계층 - 서비스를 만들기 위한 비즈니스 로직을 처리하기 위한 계층 (서비스) - 퍼시스턴스 계층 - 데이터베이스 관련 로직을 처리하기 위한 계층 (리포지토리) -> 계층은 개념의 영역이고, 컨트롤러, 서비스, 리포지토리는 실제 구현을 위한 영역이다. 3.1.2 스프링 부트 프로젝트 디렉터리 구성하며 살펴보기 - main : 실제 코드를 작성하는 공간 - test :.. 2023. 7. 25.
[2장] 스프링 부트 3 시작하기(1) - 스프링 콘셉트 - IoC(제어의 역전) - DI(의존성 주입) - AOP(관점 지향 프로그래밍) - PSA(이식 가능한 서비스 추상화) 2.1 스프링과 스프링부트 차이점 Spring Spring boot 설정 파일 구성 수동 구성 자동 구성 내장 WAS 유무 (서버) 내장 X 내장 O (톰캣, 제티, 언더토우) 목적 엔터프라이즈 애플리케이션 개발 스프링의 개발 효율 높이기 XML 일부 파일은 XML로 직접 생성하고 관리 사용하지 않음 인메모리 데이터베이스 지원 지원 X 자동 설정 지원 O 2.2 스프링 콘셉트 2.2.1 제어의 역전(IoC)와 의존성 주입(DI) - 제어의 역전(IoC) -> Inversion of Control을 줄인 표현 -> 객체를 직접 생성하는 것이 아닌, 다른 곳에서 생성된 객체를 가져와 사용.. 2023. 7. 25.
[0장] 개발 환경 구축하기 - 스프링 부트 3 프로젝트 만들기 1. IntelliJ IDEA 설치 2. 프로젝트 만들기 2-1. Build system - Gradle 2-2. GroupId - me.본인영문이름 3. build.gradle 파일 수정 plugins { id 'java' id 'org.springframework.boot' version '3.0.2' // 스프링 부트 플러그인 id 'io.spring.dependency-management' version '1.1.0' // 스프링 의존성 자동 관리 플러그인 } group 'me.kyungsoolee' // 그룹 이름 version '1.0' // 버전 sourceCompatibility = '17' // 자바 버전 repositories { // 의존성을 받을 저장소 mavenCentral() }.. 2023. 7. 25.