본문 바로가기

분류 전체보기106

컨트롤러는 @Bean으로 등록하면 안되나요? package hello.hello_spring.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import hello.hello_spring.domain.Member;import hello.hello_spring.service... 2025. 4. 20.
스프링 setName @Test void 중복_회원_예외() throws Exception { //Given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //When memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2));//예외가 발생해야 한다. assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); }new Member.. 2025. 4. 19.
Repository 인터페이스 📁 파일 구조 요약MemberRepository → 회원 저장소의 인터페이스(기능 정의)MemoryMemberRepository → 그 인터페이스를 메모리 기반으로 구현한 클래스🧩 1. MemberRepository (인터페이스)public interface MemberRepository { Member save(Member member); // 회원 저장 Optional findById(Long id); // ID로 회원 조회 Optional findByName(String name); // 이름으로 회원 조회 List findAll(); // 전체 회원 목록 조회}✅ 역할기능 정의.. 2025. 4. 19.
스프링 Controller 코드에서 Model의 출처와 역할 @Controllerpublic class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!!"); return "hello"; }} 여기서 model은 어디서 나오는거고 역할이 뭘까요? ✅ Model은 어디서 나올까?public String hello(Model model)여기서 Model은 스프링이 자동으로 주입해주는 객체(=의존성 주입)이다.@GetMapping에 의해 HTTP 요청이 오면,스프링이 해당 메서드를 호출하면서 Model 객체를 컨트롤러 메서드의 파라미터로 자동 전달개발자는 그냥 model을 받아서 사용하면 되는 거다. 따로 생성하거.. 2025. 4. 18.