본문 바로가기

Spring Boot

(6)
2022 GDSC Spring Study 입문 - 1주차 Chapter 01. 인텔리제이로 스프링 부트 시작하기 인텔리제이로 스프링 부트를 다룬 적이 있어 넘어가도록 하겠다 Chapter 02. 스프링 부트에서 테스트 코드를 작성하자 1. 테스트 코드 소개 TDD vs Unit Test TDD: 테스트가 주도하는 개발 테스트 코드를 먼저 작성하는 것부터 시작한다 Unit Test: 기능 단위의 테스트 코드를 작성한다 Unit Test의 장점 개발 단계 초기에 문제를 발견하게 도와준다 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존 기능이 올바르게 작동하는지 확인할 수 있다 기능에 대한 불확실성을 감소시킬 수 있다 시스템에 대한 실제 문서를 제공한다 -> 단위 테스트 자체를 문서로 사용할 수 있다 Java에서 테스트 코드 작성을 도와주는 프레임워크는 JU..
06. 데이터베이스 연동 애플리케이션은 데이터를 주고받는 것이 주 목적이다. 마리아DB를 애플리케이션에 적용해 보자. 6.1 마리아DB 설치 나는 M1 MacBook Pro를 사용하기 때문에 homebrew로 마리아db, 서드파티 도구로 HeidiSQL이 아닌 Sequel Pro를 설치해 주었다. 6.2 ORM Object Relational Mapping의 줄임말로 객체 관계 매핑을 의미한다. = 클래스와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법이다. 스프링부트 애플리케이션 ORM 데이터베이스 ORM을 이용하면 쿼리문 작성이 아닌 코드로 데이터를 조작할 수 있다. 6.3 JPA Java Persistence API는 자바 진영의 ORM 기술 표준으로 채택된 인터페이스의 모음이다. = ORM..
05. API를 작성하는 다양한 방법 5.1 프로젝트 설정 5.2 GET API 만들기 GET API는 웹 에플리케이션 서버에서 값을 가져올 때 사용하는 API이다. 1 2 3 4 5 6 7 8 9 10 11 package com.springboot.api.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/v1/get-api") public class GetControll..
04. 스프링 부트 애플리케이션 개발하기 4.1 프로젝트 생성 스프링 부트 프로젝트 생성 방법에는 1. IntelliJ IDEA 2.Spring Initializr를 이용하는 방법이 있다. 나는 2번을 사용하였다. 4.1.2 4.2 pom.xml 살펴보기 pom(Project Object Model).xml 파일은 메이븐의 기능을 사용하기 위해 작성하는 파일이다. 프로젝트, 의존성 라이브러리, 빌드 등의 정보 및 해당 프로젝트를 관리하는 데 필요한 내용을 가진다. 4.2.1 빌드 관리 도구 JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있게 우리가 작성한 소스코드와 프로젝트에 사용된 파일들을 빌드하는 도구이다. 라이브러리 간 버전 호환성 체크와 같은 문제를 빌드 관리 도구로 해결할 수 있다. 4.2.2 메이븐 자바 기반의 프로젝트를 빌드하고..
02. 개발에 앞서 알면 좋은 기초 지식 2.1 서버 간 통신 한 서버가 다른 서버에 통신을 요청하는 것이다. 한 대는 서버, 다른 한 대는 클라이언트. 가장 많이 사용되는 방식은 HTTP/HTTPS 2.2 스프링 부트의 동작 방식 spring-boot-starter-web 모듈을 사용하면 기본적으로 톰캣을 사용하는 스프링 MVC 구조를 기반으로 동작한다. 서블릿(Servelt)은 서블릿 컨테이너에서 관리되며 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술이다. 서블릿 컨테이너는 서블릿 인스턴스를 생성하고 관리하며 톰캣은 WAS와 서블릿 컨테이너의 역할을 수행하는 대표적인 컨테이너이다. 서블릿 컨테이너의 특징 - 서블릿 갱체를 생성, 초기화, 호출, 종료하는 생명주기 관리 - 서블릿 객체는 싱글톤 패턴으로 관리 - 멀티 스..
01. 스프링 부트란? 스프링 부트 JAVA 기반의 애플리케이션 프레임워크인 스프링이 제공하는 다양한 프로젝트 중 하나이다. 1.1 스프링 프레임워크 애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 한다. 1.1.1 제어 역전 (IoC: Inversion of Control) 일반적인 자바는 객체를 생성하고 사용하는 일련의 작업을 개발자가 직접 제어하는 구조이다. IoC를 적용한 스프링은 객체를 직접 생성하지 않고 객체의 생명주기 관리를 외부*에 위임한다. 여러 비즈니스 로직에서 반복되는 부가 기능을 하나의 공통 로직으로 처리하도록 모듈화해 삽입하는 방식 구현 방법 - 컴파일 과정에 삽입 - 바이트코드를 메모리에 로드하는 과정에 삽입 - 프락시 패턴 이용 1.2 스프링 프레임워크 v..