본문 바로가기

반응형

WINK-(Web & App)/Spring Boot 스터디

(59)
[Spring Boot 스터디] 이정욱 #2 주차 - 섹션3 [회원 관리 예제 - 백엔드 개발] **비즈니스 요구사항 정리:** - 데이터: 회원ID, 이름 - 기능: 회원 등록, 조회 - 데이터 저장소가 아직 선정되지 않았으며, 인터페이스로 구현 클래스를 변경할 수 있도록 설계 - 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고려 중인 상황으로 가정 - 개발을 위해 초기 개발 단계에서는 가벼운 메모리 기반의 데이터 저장소를 사용 **클래스 의존관계:** - 데이터 저장소가 선정되지 않았으므로 인터페이스로 구현 클래스를 변경 가능하도록 설계 - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등..
[Spring Boot 스터디] 한준교 #2 주차 - 섹션3 🏃 비즈니스 요구사항 정리 강의 목표가 실제 비즈니스가 아니라 스프링의 전반적인 흐름을 이해하는 것이기 때문에! → 회원ID 와 이름 만 데이터로 사용한다! → 기능은 회원 등록과 조회!! → 가상의 시나리오로 아직 데이터 저장소(DB) 가 선정되지 않음!! (기능을 파악하고 DB를 선정해보자..) 일반적인 웹 애플리케이션 계층 구조는 → 컨트롤러 : 웹 MVC의 컨트롤러 역할 → 서비스 : 핵심 비즈니스 로직 구현 ex. 중복 가입이 안되는 로직 등등 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직을 구현하는 계층이다. → 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 → 도메인 : 비즈니스 도메인 객체 ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클래..
[Spring Boot 스터디] 이지원 #2 주차 - 섹션 3 회원 domain / repository / service 구축하기 Domain 일종의 객체 모델링이라 볼 수 있을 것 같다. Repository 서비스 구축을 위해 보통 DB(데이터베이스)가 필요하지만 설계 및 개발 과정에서 DB가 준비되지 않았거나 결정되지 않았을 경우가 있다. 이를 위해 메모리를 사용하는 가상의 데이터베이스를 만들고 추후 DB와의 호환을 위해 미리 Interface를 정의하고 설계한다. Service 실제 서비스에 사용되는 비즈니스 로직이 포함된다. 예를 들어 회원가입 시 중복 아이디의 생성을 방지하거나 특정 시간동안 작성할 수 있는 게시글을 제한하는 등의 작업이 포함된다. Domain 생성 먼저 Member 도메인을 생성한다. package hello.hellospring.doma..
[Spring Boot 스터디] 조현상 #2 주차 - 섹션 3 스프링으로 회원관리예제 다루기! 우선 윈도우에서는 맥에서 커맨드 키가 컨트롤 키였고 옵션 키가 Alt 키였다 강의 영상에서 명령 키 얘기를 할 때 윈도우면 위와 같이 키를 누르면 된다. 이번 강의는 회원관리 예제를 다루는 시간이었다. 간단하게 계층 구조를 본다면 컨트롤러 -> 서비스 -> 리포지토리 -> DB 관계이고 컨트롤러, 서비스, 리포지토리는 도메인을 가지고 있다. 데베를 접근하고 DB에 저장하고 관리하는 코드들은 리포지토리에서 정의하였고 비지니스 로직들은 서비스에서 관리하는 형태였다. 그리고 도메인은 회원의 정보나 쿠폰 정보 같은 객체들을 생성해서 저장하는 클래스였다. 일단 hello.hellospring 디렉토리 안에 domain, repository, service 디렉토리를 만들었다. 먼저..
[Spring Boot 스터디] 한준교 #1 주차 - 섹션 1, 2 "다음부턴 요약을 해볼게..." 🦫Section 1. 프로젝트 환경설정 프로젝트 생성 준비해야할 것. Java 11 설치 → 버전 이슈 때문에 Java 17 IDE (InteliJ) 설치 https://start.spring.io/ (옛날에는 Spring 프로젝트를 밑바닥 부터 만들었지만 요즘은 Spring-boot 를 기반으로 Spring 프로젝트를 만듬!!) Spring-boot 기반으로 Spring 프로젝트를 만들어주는 사이트이다 (Spring 에서 운영중임!!) 과거에는 Maven을 주로 사용했지만 요새는 거의다 Gradle 을 사용한다고 한다… SNAPSHOT은 아직 출시 전이므로 SNAPSHOT 이 아닌것들중 제일 높은 버전을 선택! Group은 회사 이름을 작성하는 곳인데 대학생인 관계로 hello 로 채운다! Artifa..
[Spring Boot 스터디] 황현진 #1 주차 - 섹션 1, 2 "👋 🌸" 📌 View 환경설정 1️⃣ welcome page 만들기 src / main / resources / static / index.html 이 경로에 아래 코드를 붙여 넣으면 welcome page(홈화면)를 만들 수 있다. (정적 페이지) Hello hello 2️⃣ thymeleaf 템플릿 엔진 thymeleaf 템플릿 엔진을 사용하면 동적인 페이지를 만들 수 있다. @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } } 안녕하세요. 손님 📌 빌드하고 실행하기 콘솔창을 킨다. ..
[Spring Boot 스터디] 이지원 #1 주차 - 섹션 1, 2 "Hello Spring" 개발 환경 설정 JDK 20 IntelliJ - Spring Boot html 렌더링 방법 Client의 html을 렌더링하는 방법에는 대표적으로 아래의 3가지 방법이 있다. 정적 컨텐츠 MVC와 템플릿 엔진 API 정적 컨텐츠 static 파일들을 그대로 제공한다. CDN의 역할과 비슷하다. 특별한 작업 없이 단순히 파일을 전송하고 제공하는 역할이다. 정적 파일을 호스팅하는 기능이다. src -> main -> resources -> static 폴더 내부에 정적 파일들을 위치시킨다. Spring 서버가 자동으로 폴더 내부의 파일들을 정적 파일로 제공한다. 예를 들어 static 폴더 내부에 index.html이라는 다음 파일을 위치시킨다면 서버를 접속할때 메인화면이 아래 파일로 변경된다. Hello ..
[Spring Boot 스터디] 이정욱 #1주차 - 섹션 1, 2 ".... . .-.. .-.. ---" 테스트 라이브러리 정리 spring-boot-starter-test는 스프링 부트 테스트를 위한 라이브러리다. junit은 테스트 프레임워크로서 사용된다. mockito는 목 라이브러리로 사용된다. assertj는 테스트 코드 작성을 편하게 해 주는 라이브러리다. spring-test는 스프링과의 통합하여 테스트할 수 있게 지원해 주는 라이브러리다. View 환경설정 스프링부트는 WelcomePage를 제공한다. static/index.html을 올려두면 Welcome Page를 적용할 수 있다. Welcome Page 적용한 모습 또한 thymeleaf 엔진을 사용하고 있어, controller를 이용해 값을 반환하고 사용하는 것이 가능하다. java/hello/hellospring/controller..

반응형