Spring/스프링 입문 13

회원 관리 예제 - 백엔드 개발 (2)

1. Service 구현 service를 구현하다 보면 비즈니스 네임이랑 비슷하다는 것을 알 수 있다. 그래야지 기획자가 말하는 부분의 로직을 찾기가 쉽다. model 같은 경우 단순히 기계적으로 개발스럽게 만든다. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import java.util.List; import java.util.Optional; public class MemberService { MemberRep..

회원 관리 예제 - 백엔드 개발 (1)

비즈니스 요구사항 정리 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비지니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비지니스 도메인 객체, 예) 회원, 주문 , 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 1. Repository interface 구현 현재 비지니스 로직에서 데이터 저장소가 선정되지 않았다고 가정하기 때문에, 인터페이스로 구현 차후에 선정될 시 변경함. package hello.hellospring.repository; import hello.hellospring.domain.M..

스플링 웹 개발 기초 - 정적 컨텐츠, MVC와 템플릿 엔진

정적 콘텐츠 - 웹브라우저에 파일을 그대로 전송해주는 방식 MVC와 템플릿 엔진 - 서버에서 데이터를 변형해서 HTML형식으로 바꿔서 전송해주 방식 API - json 데이터 포맷으로 데이터를 클라이언트에 전송해주는 방식 - 서버에서 통신할 때 사용 1. 정적 콘텐츠 스프링 부트에서는 기본적으로 정적 콘텐츠를 제공해준다. main > resource > static 디렉터리를 생성 static 디렉터리 밑에 hello-static.html 파일을 생성 url: http://localhost:8080/hello-static.html 바로 접근 가능하다. 접근 순서는 내장 톰캣 서버에서 요청을 받는다. 스프링 컨테이너에서 관련 컨트롤러를 찾는다. 없을 시 resources:static/hello-static..