전체 글
-
[김영한 스프링] 8. 회원 서비스 테스트Spring/스프링 입문 2023. 2. 28. 23:37
MemberServiceTest.java Ctrl + Shift + t키로 main에서 테스트 생성 가능 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemoryMemberRepository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.Optional; import static org.ass..
-
[김영한 스프링] 7. 회원 서비스 개발Spring/스프링 입문 2023. 2. 27. 23:07
MemberService.java 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 { private final MemberRepository memberRepository = new MemoryMemberRepository(); /** * 회원가입 */ public Long join(..
-
[김영한 스프링] 6. 회원 리포지토리 테스트 케이스 작성Spring/스프링 입문 2023. 2. 16. 23:12
MemoryMemberRepositoryTest.java package hello.hellospring.repository; import hello.hellospring.domain.Member; //import org.junit.jupiter.api.Assertions; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import java.util.Optional; import static org.assertj.core.api.Assertions.*; public class MemoryMemberReposi..
-
[김영한 스프링] 5. 회원 도메인과 리포지토리 만들기Spring/스프링 입문 2023. 2. 15. 04:58
비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) Member.java package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } domain 패키지/Member 클래스 생성 MemberRepository..
-
[김영한 스프링] 4. APISpring/스프링 입문 2023. 2. 9. 21:27
HelloController.java @GetMapping("hello-api") @ResponseBody public Hello helloApi(@RequestParam("name") String name) { Hello hello = new Hello(); hello.setName(name); return hello; } static class Hello { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } Alt키 + Ins키 -> getter 및 setter 생성 출처 : https://www.inflearn.com/course/%EC%..
-
[김영한 스프링] 3. MVC와 템플릿 엔진Spring/스프링 입문 2023. 2. 1. 23:33
HelloController.java @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } 기존 controller(hello.hellospring/controller/HelloController)에 "hello-mvc"관련 코드 추가 @RequestParam("name") String name - @RequestParam("가져올 데이터의 이름") [데이터 타입] [가져온 데이터를 담는 변수] hello-template.html hello! empty resources/tem..
-
[김영한 스프링] 2. View 환경설정Spring/스프링 입문 2023. 2. 1. 00:49
정적 페이지 Welcome Page 생성 Hello hello321 resources/static에 index.html 생성 동적 페이지 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!!"); ..
-
slf4j log4j logback log4j2Java 2023. 1. 27. 00:21
slf4j Facade 패턴을 수단으로 하는 자바 로깅 API를 제공 logger 추상체로서 다른 로깅 프레임워크가 접근할 수 있도록 도와주는 추상화 계층 logback이나 log4j2와 같은 로깅 프레임워크의 인터페이스 역할 log4j Apache의 java기반 로깅 프레임워크 xml, properties로 환경 구성 logback log4j이후에 출시된 보다 향상되고 가장 널리 사용되고 있는 로깅 프레임워크 slf4j의 구현체로서 동작 log4j2 log4j의 다음 버전 logback과의 차이는 Multi Thread 환경에서 비동기 로거(Async Logger)의 경우 다른 로깅 프레임워크보다 처리량이 훨씬 많고, 대기 시간이 훨씬 짧음 출처 : https://minkwon4.tistory.com/..