본문 바로가기

SPRING

[스프링| 스프링 입문 | 코드로 배우는 스프링] 회원 웹 기능 - 조회 // @GetMapping 애노테이션은 이 메서드가 HTTP GET 요청을 처리하며,// 'members' 경로로 들어오는 요청을 매핑합니다.@GetMapping("members")public String list(Model model) { // 'list' 메서드 정의, Model 객체를 파라미터로 받습니다. // Model 객체는 뷰에 데이터를 전달하는 데 사용됩니다. // memberService를 사용하여 모든 회원 목록을 조회합니다. List members = memberService.findMembers(); // 조회한 회원 목록을 'members'라는 이름으로 Model에 추가합니다. // 이렇게.. 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 회원 웹 기능 - 등록, DTO와 DAO // 회원 가입을 처리하는 메서드입니다.public Long join(Member member) { // 중복 회원이 있는지 검증하는 private 메서드를 호출합니다. validateDuplicateMember(member); //중복 회원 검증 // 리포지토리의 save 메서드를 사용하여 회원 정보를 저장합니다. memberRepository.save(member); // 저장된 회원의 ID를 반환합니다. 저장 후에는 ID가 할당됩니다. return member.getId();}// 중복 회원을 검증하는 메서드입니다. 이 메서드는 private으로 선언되어,// 클래스 내부에서만 사용할 수 있습니다.private void validateDuplicateM.. 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 회원 웹 기능 - 홈 화면 추가 package hello.hellospring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public String home() { return "home"; }} Hello Spring 회원 가입 회원 가입 회원 목록 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 자바 코드로 직접 스프링 빈 등록하기 package hello.hellospring;// 필요한 클래스를 임포트합니다.import hello.hellospring.repository.MemberRepository;import hello.hellospring.repository.MemoryMemberRepository;import hello.hellospring.service.MemberService;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration // 이 클래스가 스프링 설정 클래스임을 선언합니다. 스프링 IoC 컨테이너는 이 클래스에서 빈 설정 정보를 읽어들입니다.. 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 컴포넌트 스캔과 자동 의존관계 설정 @Controller기능: @Controller 애노테이션은 해당 클래스가 웹 요청을 처리하는 컨트롤러임을 나타냅니다. 스프링 MVC에서 모델, 뷰, 컨트롤러(MVC) 패턴의 컨트롤러 역할을 합니다. 이 애노테이션이 붙은 클래스는 웹 요청과 응답을 처리하는 메서드를 포함하며, 스프링이 이를 컴포넌트로 인식하여 웹 요청을 처리할 수 있도록 관리합니다.@Service기능: @Service 애노테이션은 해당 클래스가 비즈니스 로직을 처리하는 서비스 계층임을 나타냅니다. 이 계층은 주로 비즈니스 요구사항을 구현하며, 데이터 접근 계층과 컨트롤러 계층 사이에서 중개자 역할을 합니다. 스프링 컨테이너는 이 애노테이션을 사용하여 비즈니스 로직 처리를 위한 서비스 컴포넌트를 관리합니다.@Repository기능: @Re.. 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 회원 서비스 테스트 package hello.hellospring.service; // 패키지 선언import hello.hellospring.domain.Member; // Member 도메인 클래스를 가져옵니다.import hello.hellospring.repository.MemoryMemberRepository; // 회원 정보를 메모리에 저장하는 레포지토리 클래스를 가져옵니다.import org.assertj.core.api.Assertions; // assertj의 Assertions를 사용하여 더 읽기 쉽고 강력한 검증을 제공합니다.import org.junit.jupiter.api.AfterEach; // 각 테스트가 끝날 때마다 실행할 메소드를 지정합니다.import org.junit.jupiter.. 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 회원 서비스 개발 public class MemberService { // 회원 정보를 저장하고 관리하는 리포지토리 객체를 선언합니다. private final MemberRepository memberRepository = new MemoryMemberRepository(); /* * 회원가입 메소드 */ public Long join(Member member) { validateDuplicateMember(member); // 중복 회원을 검증합니다. memberRepository.save(member); // 리포지토리에 회원 정보를 저장합니다. return member.getId(); // 저장된 회원의 ID를 반환합니다... 더보기
[스프링| 스프링 입문 | 코드로 배우는 스프링] 회원 리포지토리 테스트 케이스 작성 package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); // 테스트할 메모리 기반의 리포지토리 객체 생성 @AfterEach public void afterEach() .. 더보기