목록스프링부트 (21)
-
저번 포스팅에선 Controller도 만들고 DI를 통해 의존성 주입도 했었습니다. 이제 이 MemberController를 통해 회원을 등록하고 조회하는걸 한 번 만들어보려고 합니다. 먼저 홈 화면을 추가를 할 것입니다. 이 Home 화면도 Controller로 만들기 위해 Controller어노테이션을 위에 추가해줍니다. 그리고 GetMapping을 쓸 것입니다. 이 @GetMapping은 데이터를 받아온다고 지난번에 설명했습니다. 그러니까 home()이라는 메서드를 실행할것인데, 이 home을 실행하면 "home"을 리턴해주고 이 때 주소를 /라고 입력하게 되면 기본 8080주소가 home화면입니다. 당연하겠죠? 메인 화면이 home화면이니까 다른 주소값이 아닌 제일 기본이 되는 주소가 home이니..
이전에 해본건 @Service, @Repository, @Autowired 등을 사용해서 컴포넌트 스캔으로 자동 등록하고 사용했었는데 이걸 수동으로 스프링 빈에 등록하는걸 아는 것이 좋아서 기록을 하게 되었습니다. 어노테이션을 사용하면 정말 편리하겠지만 그러지 못한 상황이 발생했을 때의 경우를 대비해서 우리는 직접 등록해야 합니다. 결국 2가지 모두 다 알고 있어야겠습니다. MemberService 클래스에서 @Autowired를 제거해줍니다. 그리고 MemoryMemberRepository에서도 @Repository를 지웁니다. 단, MemberController는 그대로 어노테이션을 유지합니다. 이대로 실행을 하면 당연히 MemberService가 등록이 안되어 있는데 우리가 MemberControl..
이번엔 스프링 빈을 직접 등록해보고 의존관계를 설정해볼 것입니다. 지난번엔 MemberService랑 MemberRepository를 만들고 서비스를 통해 회원을 가입할 수 있고 Repository에 저장이 되고 거기서 꺼내올 수 있는 로직을 만들었습니다. 또한 그것을 테스트하는 장치도 한 번 만들어 봤습니다. 그래서 이번엔, 화면에 어떻게 하면 이 데이터들을 출력하고 표기할 수 있을지, 제일 처음 배웠던 MVC 기억나시죠? 모델이랑 컨트롤러랑 View - Template이 필요합니다. 따라서 회원가입을 하고 회원 가입된 결과를 시스템에 뿌려주어야 합니다. 이를 위해서는 MemberController가 필요합니다. 이 MemberController가 MemberService를 통해서 회원가입하고 이를 통..
이번에는 저번에 만들었던 회원 서비스 기능을 테스트를 할 것입니다. 테스트할 때에도 아주 유용한 단축키가 있습니다. 클래스에 마우스를 대고 Ctrl + Shift + T를 누르면 Create new Test가 뜹니다. name도 그대로 MemberServiceTest라고 자동 입력되어있으니 정말 편하네요. 밑의 join, findMembers, findOne을 모두 체크해주고 OK누릅니다. 그럼 이렇게 메서드가 생성됩니다. 자 하나씩 채워넣어 봅시다. 제일 먼저 회원가입이 잘 되는지 보겠습니다. 보통은 영어권에서 취업하지 않는한 국내 기업들은 메서드명을 쓸 때 한글 이름도 많이 씁니다. 언제까지고 영어도 못하는데 findmembers, findmember, savemember이렇게 메서드를 만들면 외국인..
계속 이어서 테스트 케이스를 작성해봅시다. 지난 번에 테스트한건 save() 메서드에 대해서 테스트 해보았습니다. 이번엔 findByName()메서드를 한 번 테스트 해봅시다. 마찬가지로 save()메서드 아래에 findByName()메서드를 만들어서 연습을 해봅시다. 똑같이 test 어노테이션을 걸겠습니다. 그리고 여기서 꿀팁이 있는데, Shift + F6을 누르시면 아래 메서드의 메서드명만 바꿀 수 있습니다. 손쉽게 member2로 바꾸고 setName에는 22222를 넣어봅시다. 이렇게하면 11111이라는 회원과 22222라는 회원이 가입이 된겁니다. 이렇게 입력하면 result에 11111이라는 회원을 찾아서 꺼내옵니다. 그 다음에 이렇게 입력하고 돌리면 findByName()에 정상적으로 녹색불..
이제부터 실습에 들어가보려 합니다. 그래서 몇 가지 고객의 정리된 요구사항을 보며 어떻게 개발을 할지 생각해봅시다. 회원 도메인과 레포지토리 만들기 회원 레포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항은 가장 쉬운거로 해볼 것입니다. 데이터 : 회원 ID, 이름 기능 : 회원 등록, 회원 조회 만으로 해보겠습니다. 저희는 아직 데이터 저장소를 선정하지 않았다고 해봅시다. 성능이 중요한 DB를 쓸지, 아니면 관계형 데이터베이스인 RDBMS로 할지를 안정해져있는데 개발을 해야한다면 어떻게 할지를 특정합니다. 일반적으로 웹 애플리케이션의 계층 구조는 다음과 같습니다. 그림에서 등장하는 컨트롤러는 웹 MVC와 컨트롤러의 역할을 합니다. 지금까지 쭉 다뤄왔던 내용입니다. 서비..