본문 바로가기

전체 글80

[JPA로 게시판 만들기] API 개발 Member 관련 API회원 등록 API@PostMapping("/api/members")public CreateMemberResponse saveMember(@RequestBody @Valid CreateMemberRequest request){ Member member = new Member(); member.setEmail(request.getEmail()); member.setAddress(new Address(request.getCity(), request.getZip(), request.getStreet())); Long memberId = memberService.join(member); return new CreateMemberResponse(memberId);}.. 2025. 2. 5.
Bean property '필드명' is not readable or has an invalid getter method 발생게시판 만들기 프로젝트 진행 도중 컨트롤러에서 View를 호출하는 과정에서 발생하였다.에러로그Bean property 'id' is not readable or has an invalid getter methodid 필드를 읽을 수 없거나, getter 메서드가 잘못되었다고 한다. 필자의 경우는 id 필드를 읽을 수 없는 경우였다.해결PostForm.javaimport jakarta.validation.constraints.NotEmpty;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class PostForm { private Long id; // 추가 @NotEmpty(message = "제목은 필수입니다.") .. 2025. 1. 28.
[JPA로 게시판 만들기] 테스트 코드 작성 시작하기 전에지난 게시글에 TDD와 BDD에 대해서 학습하였다. 이를 적용하기 위해 테스트 코드를 작성하였으며 BDD 방식으로 진행하였다.Member 관련 테스트 코드MemberServiceTest.java...@RunWith(SpringRunner.class)@SpringBootTest@Transactionalclass MemberServiceTest { @Autowired MemberService memberService; @Test void 회원가입() { // given Member member = new Member(); member.setEmail("test@test.com"); member.setAddress(new Ad.. 2025. 1. 23.
[JPA로 게시판 만들기] TDD, BDD 란 시작하기 전에TDD, BDD 등 테스트 코드 작성 관련 얘기를 주변에서 많이 들었다. 강의를 들으며 진행한 것 외에 스스로 생각하며 진행해본적이 없기 때문에 진행해보았다. 구현한 테스트 코드 설명에 앞서 TDD와 BDD가 무엇인지 먼저 이해하고 시작하기로 하였다.TDD(테스트 주도 개발)Test Driven Development의 약자로 테스트가 개발을 주도한다는 개념으로 사용된다. TDD는 테스트를 먼저 만들고 테스트를 통과하기 위한 행동들이 모두 개발을 주도하는 것을 목표로 한다. TDD에서는 보통 개발이 끝난 후 테스트를 하는 과정과 다르게 테스트 코드를 먼저 만들고 테스트 코드를 통과시키기 위해 개발코드를 만들어가면서 개발을 진행한다. 추가로 TDD의 결과물이 단위테스트일 뿐 TDD와 단위테스트는.. 2025. 1. 23.
expected at least 1 bean which qualifies as autowire candidate 발생게시판 만들기 프로젝트 진행 도중 테스트 코드 작성 후 실행 시 해당 오류가 발생하였다.에러 로그expected at least 1 bean which qualifies as autowire candidate현재 내 프로젝트 내부 코드에서 Beans의 생성자를 찾거나 정의하지 못하는 경우 발생한다. 오류 내용을 자세히 살펴보자.expected at least 1 bean which qualifies as autowire candidate : autowired 할 bean이 적어도 1개 필요No qualifying bean found for dependency : 종속에 적합한 bean이 없음결론적으로 Autowired 할 수 있는게 없다는 뜻으로, 로그에서 알려주는 클래스를 확인해보았다.해결PostD.. 2025. 1. 21.
UnsatisfiedDependencyException : Unsatisfied dependency expressed through constructor parameter 0 발생게시판 만들기 프로젝트 진행 도중 테스트 코드 작성 후 실행 시 해당 오류가 발생하였다.에러 로그UnsatisfiedDependencyException : Unsatisfied dependency expressed through constructor parameter 0해당 에러는 구글링 결과 '빈 생성시에 필요한 것이 빠졌거나, 잘못되었으니 고쳐라' 라는 에러라고 한다. 로그에서 알려주는 클래스를 확인해보았다.해결@Service@RequiredArgsConstructor@Transactional(readOnly = true)public class PostService { private final MemberRepository memberRepository; private final Po.. 2025. 1. 21.