1. 테스트 코드1.1. 테스트 코드란?: 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드- 장점1) 유지보에 좋음- 장점2) 코드 수정 시 기존 기능이 제대로 작동하지 않을까봐 걱정하지 않아도 됨 1.2. 테스트코드의 다양한 패턴 given-when-then 패턴- 테스트 코드를 세 단계로 구분해 작성하는 방식@DisplayName("새로운 메뉴를 저장한다.")@Testpublic void saveMenuTest(){ // 1) given : 메뉴를 저장하기 위한 준비 과정 final String name = "아메리카노"; final int price = 2000; final Menu americano = new Menu(name, p..
분류 전체보기
1. 스프링 부트 3 구조 살펴보기- 스프링부트는 각 계층이 양 옆 계층과 통신하는 구조 따름- 계층 : 각자의 역할과 책임이 있는 어떤 소프트웨어의 구성 요소- 각 계층은 서로 소통 가능 O, but 다른 계층에 직접 간섭하거나 영향 미치지 X 1.1. 이해를 돕는 예시 - 카페와 빵집으로 이해하는 계층- 카페 : 커피 판매 => 계층 a- 빵집 : 빵 판매 => 계층 b-> 카페 & 빵집 협업 -> 손님이 커피 사면 빵 할인 => 계층 간의 소통- 빵집 알바생이 빵을 팔다 말고 카페에 가서 커피 팔 수 X => 계층은 서로 영향 끼치지 못함=> 계층은 자신의 책임에 맞는 역할(ex. 커피 팔기, 빵 팔기) 수행하며 필요에 따라 소통(커피 사면 빵 할인)함 1.2. 스프링부트의 계층 구조- 스프링부..
1. @SpringBootApplicationpackage org.example.springbootdeveloper;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.SpringApplication;@SpringBootApplicationpublic class SpringBootDeveloperApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDeveloperApplication.class, args); }}1.1.@SpringBootApplicati..
1. 스프링 부트 3의 변화- 스프링 부트 2 : 자바 8 버전 이상 사용- 스프링 부트 3 : 자바 17 버전 이상 사용 2. 자바 17의 주요 변화 2.1. 텍스트 블록- 이전 : 여러 줄의 텍스트 작성 -> \n 추가 필요- 현재 : """ 로 감싼 텍스트 사용 -> 여러 줄 텍스트 표현 O String query11 = "SELECT * FROM \"items\"\n" + "WHERE \"status\" = \"ON_SALE\"\n" + "ORDER BY \"price\";\n"; String query17 = """ SELECT * FROM "items" ..
1. 스프링 부트의 자동 구성이란?- 스프링 부트에서는 애플리케이션이 최소한의 설정만으로도 실행되게 여러 부분을 자동으로 구성- 추후 개발 시 내가 구성하지 않은 부분인데 스프링에서 자도응로 어떻게 구성했는지 확인할 상황 오기때문에 알아둬야함!- 스프링부트는 서버 시작 시 구성 파일 읽어와서 설정 == 자동 설정=>META-INF / spring.factories 파일 2. spring.factories 파일 spring-boot-autoconfigure/spring.factories 검색 -> 첫번째 파일 실행 spring.factories 파일># Initializersorg.springframework.context.ApplicationContextInitializer=\org.spring..
1. 스프링 부트 스타터 (Spring Boot Starter)- 스프링 부트 스타터 (Spring Boot Starter): 의존성이 모여있는 그룹 => 특정 기능을 구현하기 위해 필요한 의존성(dependencies)을 한 번에 관리할 수 있는 일종의 패키지 모음 - 스프링 부트에서 특정 기능(ex. 웹 개발, 데이터베이스 접근 등)을 사용하려면 여러 라이브러리와 설정이 필요-> 과거 : 개발자가 각 라이브러리를 개별적으로 추가하고 설정 필요 ->번거로움 & 실수 가능성 큼- 스타터 사용 -> 필요한 기능을 간편하게 설정 가능- 특정 기능을 구현하기 위해 필요한 라이브러리와 설정을 미리 패키지로 묶어 제공-> 개발자는 단순히 해당 스타터를 의존성에 추가하는 것만으로도 필요한 모든 것을 자동으로 가져올..
1. java class 만들기 package org.example.springbootdeveloper;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController { @GetMapping("/test") public String test(){ return "Hello, world!"; }} - @RestContoller : 라우터- @GetMapping : 2. 실행2.1. 문제 발생 : 이미 사용중인 포트번호 예전에 8080포트로 무언가 실행해서..
1. 스프링과 스프링부트1.2. 스프링(Spring)의 등장- 엔터프라이즈 애플리케이션(Enterprise Application) : 대규모의 복잡한 데이터를 관리하는 애플리케이션- 소프트웨어 분야 발전하며 엔터프라이즈 애플리케이션은 점점 복잡해짐ex. 은행 시스템몇 천만 사람이 한꺼번에 잔고 조회, 입금/출금 요청, 새로운 통장 개설...->많은 사용자의 요청 동시에 처리해야함=>서버 성능, 안정성, 보안 매우 중요 이런것들 신경쓰면서 사이트 기능 == 비즈니스 로직까지 개발하기 어려움!=> 2003.06. 스프링 프레임워크(Spring Framework) 등장- 스프링 프레임워크 (Spring Framework) : 서버성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구->개발자들은 기능 개발에..