안녕하세요 jju_developer입니다.
주말은 잘 보내셨는지요?
다시! 개발을 하기 전에 mvc 스프링부트에 대해 정리를 하고 나서
개인 프로젝트를 진행하고자 합니다!
지난 시간에 회원 가입에 대해서 진행해 보았으니,
이번에는 회원 조회 기능에 대해
구현을 해보겠습니다.

이 화면에서 회원 목록을 누르면

members로 가게끔 주소를 설정해 두었던 것 기억하시죠?
<a href="/members">회원 목록</a>
그럼 이제 처음으로 해야 할 것은?
컨트롤러에 추가해 주는 것입니다.
클릭 하나를 하고 뷰를 거치기 전에 컨트롤러로 먼저 가야 한다고 했었죠?!!!
controller에서 사용할 service는?
리스트에 담을 회원 아이디가 되겠습니다.
그렇다면 우선 지난 시간에 서비스에 무엇을 담았는지 확인을 해보면
public List<Member> findMembers(){
return memberRepository.findAll();
}
요렇게 전체 회원을 리스트에 담았었죠?
그럼 이것을 컨트롤러에서 사용을 할 것입니다.
1. MemberController.java
@GetMapping("/members")
public String list(Model model){
List<Member> members = memberService.findMembers();
model.addAttribute("members",members);
return "members/memberList";
}
이렇게 리턴을 해주었다는 것은 위의 링크가 members로 들어왔을 때
모델에 정보를 담고 나서 members.memberList로 해당 정보를 반환해 주겠다는 뜻입니다.
그렇다면 위에서 지정한 members.memberList를 만들어 보도록 하겠습니다.
2. Members-> memberList.html

html파일을 하나 생성해 주고,
회원의 정보들을 불러올 간단한 뷰를 만들어 보도록 하겠습니다.
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
<div>
<table>
<thead>
<tr>
<th>#</th>
<th>회원 정보 : 이름</th>
</tr>
</thead>
<tbody>
<tr th:each="member : ${members}">
<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
</tr>
</tbody>
</table>
</div>
</div> <!-- /container -->
</body>
</html>

html 은 이러한 부분만 있습니다.
타임리프를 활용하여
for문처럼 반복해서 돌면서 멤버 키에 들어 있는 value값을 하나씩 꺼내오는 것입니다.
그렇다면 이제 회원을 만들어볼까요?

회원 가입

회원 두 명을 만들고 나서 회원 목록을 눌러보겠습니다.

회원 목록에 방금 등록한 두 명이 있는 것을 볼 수 있습니다.
단순히 타임리프로만 controller에서 담은 모델을 가져오고
<tr th:each="member : ${members}">
private으로 설정해 놓았던 것을

<td th:text="${member.id}"></td>
<td th:text="${member.name}"></td>
이렇게 하나씩 꺼내왔습니다.
이 부분은 사실.. 메모리에 저장만 하는 것이고,
서버가 내려가면 쓸 수가 없기 때문에
실제로 개인 프로젝트를 진행할 때에는 데이터 베이스에 연결을 해보도록 하겠습니다.
오늘 정보 처리 산업기사 실기 시험 원서접수 날이었습니다.
역시나 치열하게 원서 접수를 하고 2023.04.23일 시험 접수를 해놓았습니다...
이제부터 잠시 프로젝트를 멈추고 실기시험 자격증 공부를 하고자 합니다.
그럼 4월 말에 다시 돌아오겠습니다~!🌼
'☞Project > 휘핑크림' 카테고리의 다른 글
[스프링부트] 개발 전 회원 관리 예제- 웹 MVC 개발 07 (0) | 2023.03.24 |
---|---|
[스프링부트] 개발 전 회원컨트롤러+회원서비스+회원저장소 의존관계 설정하기 @Controller, @service, @repository 06 (0) | 2023.03.24 |
[스프링부트] 개발 전 회원 서비스 테스트 05 (0) | 2023.03.23 |
[스프링부트] 개발 전 테스트 회원 서비스 개발 작성04 (0) | 2023.03.23 |
[스프링부트] 개발 전 회원 리포지토리 테스트 케이스 작성03 (1) | 2023.03.23 |