728x90 반응형 스프링 Spring/스프링 입문24 [회원 관리 예제 - 웹 MVC 개발] 회원 웹 기능 - 조회 회원 웹 기능 - 조회 회원 조회를 위한 list() 메소드와 memberList.html @Controller public class MemberController { ... @GetMapping("/members") public String list(Model model) { List members = memberService.findMember(); model.addAttribute("members", members); return "members/memberList"; } } # 이름 List로 반환된 members를 받아 member의 id, name을 출력 결과 spring, spring2로 회원가입 후, 회원 목록 클릭 인프런 강의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, .. 2022. 1. 19. [회원 관리 예제 - 웹 MVC 개발] 회원 웹 기능 - 등록 회원 웹 기능 - 등록 회원 등록을 하기위해 "회원 가입"을 클릭하면 가게 되는 /members/new 를 만들어야 한다. 회원 가입 /members/new 를 만들기 위해 MemberController에 createForm() 메소드 추가 @Controller public class MemberController { ... @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } } return 한 members/createMemberForm 의 html 작성(templates/members/createMemberForm.html) 이름 등록 name="name"값을 저장하기 위한 Member.. 2022. 1. 18. [회원 관리 예제 - 웹 MVC 개발] 회원 웹 기능 - 홈 화면 추가 회원 웹 기능 - 홈 화면 추가 HomeController.java, home.html 생성 @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } Hello Spring 회원 기능 회원 가입 회원 목록 static/index.html이 있는데 templates/home.html이 실행된 이유는? 아래와 같이 스프링 컨테이너에 관련 Controller가 있는지 먼저 찾은 뒤에 없으면 static을 찾는다. Controller에 맵핑된 "/"가 있기 때문에 home.html이 실행된다. 인프런 강의 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"을 정리한.. 2022. 1. 17. [스프링 빈과 의존관계] 자바 코드로 직접 스프링 빈 등록하기 자바 코드로 직접 스프링 빈 등록하기 아래와 같이 @Service, @Repository, @Autowired 를 지운뒤 실행하면 오류가 나는 상태로 만든다. @Controller public class MemberController { // private final MemberService memberService = new MemberService(); private final MemberService memberService; // 여러 인스턴스를 생성할 필요가 없고 하나만 만들어 공유해서 쓰면 된다. // 스프링 컨테이너에 등록하여 사용한면 된다. // @Autowired를 생성자에 쓰면 MemberController가 생성될때, // 스프링 빈으로 등록되어 있는 MemberService를 넣어준.. 2022. 1. 16. [스프링 빈과 의존관계] 컴포넌트 스캔과 자동 의존관계 설정 @Controller : 스프링이 @Controller의 객체를 생성해서 들고 있다. 다른 말로 스프링 컨테이너에서 스프링 빈이 관리된다 라고 함 @Controller public class MemberController { // private final MemberService memberService = new MemberService(); private final MemberService memberService; // 여러 인스턴스를 생성할 필요가 없고 하나만 만들어 공유해서 쓰면 된다. // 스프링 컨테이너에 등록하여 사용한면 된다. // @Autowired를 생성자에 쓰면 MemberController가 생성될때, // 스프링 빈으로 등록되어 있는 MemberService를 넣어준다.(의존관계.. 2022. 1. 15. [회원 관리 예제 - 백엔드 개발] 회원 서비스 테스트 회원 서비스 테스트 MemberService에 커서를 위치 시킨 후, ctrl + shift + T > Create New Test... > 3가지 메소드 선택 후 OK 클릭 > MemberServiceTest 생성 1. 회원가입 테스트 MemberService memberService = new MemberService(); @Test void 회원가입() { // given Member member = new Member(); member.setName("hello"); // when Long saveId = memberService.join(member); // then Member findMember = memberService.findOne(saveId).get(); assertThat(memb.. 2022. 1. 14. [회원 관리 예제 - 백엔드 개발] 회원 서비스 개발 회원 서비스 개발 public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); /** * 회원 가입 */ public Long join(Member member) { // 같은 이름이 있는 중복 회원X Optional result = memberRepository.findByName(member.getName()); result.ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); memberRepository.save(member); return member.getId(); } } Optional.. 2022. 1. 13. [회원 관리 예제 - 백엔드 개발] 회원 리포지토리 테스트 케이스 작성 회원 리포지토리 테스트 케이스 작성 회원 리포지토리 메모리 구현체 테스트 1. save() 테스트 MemberRepository repository = new MemoryMemberRepository(); @Test public void save() { Member member = new Member(); member.setName("spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); // Assertions.assertEquals(member, null); // System.out.println("result = " + (result == member)); Assertions.assert.. 2022. 1. 12. 이전 1 2 3 다음 728x90 반응형