Spring13 Spring 회원 서비스 개발 및 테스트 회원 서비스 개발 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import java.util.List;import java.util.Optional; public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); /** * 회원가입 */ public Long join(Member member) { validateDuplicateMember(member); //중복 회원 검증 memberRep.. 2022. 1. 21. Spring 비즈니스 요구사항 정리 | 회원 리포지토리 & 테스트 케이스 작성 비즈니스 요구사항 정리 기본 사항들로만 구성된 단순한 구조로 개발할 예정입니다. 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소 선정 X [일반 웹 애플리케이션 계층 구조] 컨트롤러: 웹 MVC의 API 또는 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 (ex. 회원 중복 가입 예외처리) 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체 (ex. 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨) [클래스 의존관계] 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 단순한 메모리 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행.. 2022. 1. 20. Spring 정적 컨텐츠 기능과 동작 과정 | MVC | API 정적 컨텐츠란 ? 서버를 거치지 않고 파일을 웹 브라우저에 그대로 내려주는 것 예시를 들어봅시다. static 폴더에 hello-static.html 파일을 생성해 줍니다. 정적 컨텐츠 입니다. http://localhost:8080/hello-static.html 로 접속하면 다음과 같은 결과가 나옵니다. static 폴더에 원하는 파일을 넣으면 정적 파일로 반환됩니다. 하지만 이 파일에 그 어떤 프로그래밍도 할 수 없습니다. [정적 컨텐츠 동작 과정] Reference : https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-bootfeatures.html#boot-features-spring-mvc-static-con.. 2022. 1. 19. Spring, View 환경 설정 | thymeleaf 템플릿 동작 과정 인프런 강의를 통해 친구들과 Spring 스터디를 하기로 했습니다. 먼저 실습을 하기 위해서 아래와 같은 환경을 만들어야 합니다. 1. JDK 11 설치 2. IDE: IntelliJ 또는 Eclipse 설치 저는 IntelliJ Community로 진행하였습니다. https://start.spring.io 위 사이트를 통해 프로젝트 생성 후 다운받아 IntelliJ에서 열었습니다. main 메소드를 실행시키면 정상적으로 작동됩니다. Gradle을 통하지 않고 바로 결과를 확인하기 위해 setting에 들어가 설정해주었습니다. 라이브러리 Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 합니다. Spring Boot 라이브러리 spring-boot-starter-web ㄴ spring-boot-s.. 2022. 1. 18. 이전 1 2 다음