분류 전체보기(49)
-
회원 서비스 개발
package com.example.demo.service; import com.example.demo.Repository.MemberRepository; import com.example.demo.Repository.MemoryMemberRepository; import com.example.demo.domain.Member; import java.util.List; import java.util.Optional; public class MemberService { private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = mem..
2023.05.01 -
회원 레퍼지토리 테스트 케이스 작성
package com.example.demo.repository; import com.example.demo.Repository.MemberRepository; import com.example.demo.Repository.MemoryMemberRepository; import com.example.demo.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.ap..
2023.05.01 -
비즈니스 요구사항 정리
구조 도메인 : 비즈니스 도메인 객체 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 레퍼지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 클래스 의존 관계 MemberService -> MemberRepository member.getName().equals(name)) .findAny(); } @Override public List findAll() { return new ArrayList(store.values()); } public void clearStore() { store.clear(); } } 위 코드는 인터페이스인 멤버레퍼지토리를 상속받아서 클래스의 형태로 만들어 기본적인 기능을..
2023.05.01 -
정적 컨텐츠, MVC와 템플릿 엔진, API
정적 컨텐츠란 스프링에서 톰캣으로 URL을 받은뒤, 컨트롤러에서 한번 맞는 인덱스 값이 있다면, 그 값을 뷰에 있는 html의 코드를 그대로 웹 브라우저로 넘어가는 것을 말한다. 하지만 만약 맞는 인덱스 값이 없다면, static파일로 가서 그에 맞는 html 파일을 찾아 그 파일 그대로 웹 브라우저에 넘기게 되고, 그 웹 브라우저 또한 소스 코드에는 html파일 그대로 올라가게 되는 것을 말한다. @GetMapping("hello1") public String hello(Model model) { model.addAttribute("data","spring!!"); return "hello"; } 위 코드는 컨트롤러에 있는 값이다. MVC hello! empty 위에 정적 컨텐츠와 달리 MVC는 쪼개서..
2023.05.01 -
Thymeleaf 템플릿 엔진
이제 타임리프 엔진을 이용하여 홈페이지에 글자를 나타나도록 구성을해보자. 위 코드는 템플릿 엔진을 사용해서 HTML 코드가 이 코드를 사용하여 홈페이지에 나타낼수있게끔 코드를 작성한 것이다. 먼저 @GetMapping은 영상에서 따로 설명하시진 않았던 것 같은데, 아마도 우리가 이전에 배웠던 자바에서 Map에 대한것을 말하는 것같다. 그리고 Get을 붙이는 이유는 우리가 어떤 URL을 홈페이지에 검색할때 쓰는 방법이 Get을 한다고 한다. 그래서 GetMapping이고 model 뷰(????)는 이해가 안된다. 그리고 그 안에 "Data","spring!!"이라고 있는데 이건 나중에 나올 HTML코드를 통해 말하도록 하겠다. 위에 th="http://www.thymeleaf.org"라고 써있는데 이것은 ..
2023.04.30 -
라이브러리 살펴보기
스프링은 우리가 서로가 서로를 의존하는 타입이기 때문에 서로가 서로를 땡겨오게 된다. 약간 뗄레야 뗄 수 없는 사이랄까.라이브러리에서 Gradle에 들어가보면 파일에 우리가 두개를 땡겨온 스프링 웹과, 타임 리프가 있는데 그 안에 그 두개가 데려온(땡겨온) 필요 서버(라이브러리)들을 가져온것이다. 그렇기 때문에 서로의 의존도가 높고 연결성이 있어서 하나만 가져와도 여러개가 가져와지는 것이다. 간단하게 몇개만 설명하자면, WEB tomcat : 어떤 홈페이지를 실행시킬려고 할때 필요한 라이브러리. 예전에는 웹서버와 개발 라이브러리가 분리되어있어서 힘들었지만 요즘은 내장이 되어있어서, 메인 메서드만 만들어주고 실행만 시켜도, 이미 톰캣이 내장이 되어 있기 때문에 설정을 따로 안해도 홈페이지에 들어갈수있게 되..
2023.04.30