본문 바로가기

스프링 부트 36

[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 시작하기(2) - 스프링 부트 3 예제 만들기 2.3 스프링 부트3 2.3.1 첫 번째 스프링 부트 예제 만들기 - Get 요청을 하면 "Hello, world!"를 반환하는 예제 테스트 - Get 요청이기 때문에 주소 뒤에 "test"라는 경로가 같이 나오게 된다 package me.kyungsoolee.springbootdeveloper; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @GetMapping("/test") public String test() { return "Hello, worl.. 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.
[1장] 자바 백엔드 개발자가 알아두면 좋은 지식 1.1 서버와 클라이언트 1.1.1 클라이언트란? - 서버로 요청하는 모든 프로그램 1.1.2 서버란? - 클라이언트의 요청을 받아 처리하는 주체 1.2 데이터베이스 - 데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으록 관리하는 데이터 저장소 - (MySQL, Oracle, PostgreSQL 등은 DBMS. 즉, 데이터베이스가 아니다) 1.2.1 RDB란? - Relational Database의 약자. 관계형 데이터베이스. - 행과 열로 이루어진 테이블로 관리하며, 기본 키(primary key)를 사용해 각 행을 식별. - ex) RDB, NoSQL, NewSQL 등.. 1.2.2 SQL이란? - Structured Query Language의 약자. - 데이터를 검색하는 언어 1.2.3 N.. 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.