전체 글71 [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. [JPA로 게시판 만들기] 서비스, 레포지토리 개발 Member 서비스, 레포지토리MemberService.javapackage project.post.service;import lombok.RequiredArgsConstructor;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import project.post.domain.Member;import project.post.repository.MemberRepository;import java.util.List;@Service@RequiredArgsConstructor@Transactional(readOnly = true)public class Member.. 2025. 1. 18. [JPA로 게시판 만들기] 설계 및 엔티티 생성 프로젝트 설계엔티티한명의 Member가 여러개의 Post를 작성할 수 있기에 1:N 관계 설정(단방향)Value Type 사용을 위해 Address 추가Enum Type 사용을 위해 PostStatus(게시글 상태값) 추가CREATE : 생성DELETE : 삭제(실무에서 실제 데이터 삭제가 아닌 상태값 변경으로 처리하는 경우가 많음)MODIFY : 수정추후 엔티티를 추가하여 기능을 확장할 예정기능회원 가입 - 완료게시글 목록 조회 - 완료게시글 등록 - 완료게시글 수정 - 완료게시글 삭제 - 완료게시글 검색 - 완료게시글 페이징로그인/로그아웃(모든 기능 개발을 마친 후 가장 마지막에 진행 예정)엔티티 생성디렉토리 구조domain 패키지 내 엔티티 생성Member.javapackage project.pos.. 2025. 1. 16. [JPA로 게시판 만들기] 프로젝트 환경 설정 및 DB 연동 시작하기 전에현재 실무에서 사내 게시판을 새로 개발할 수도 있다(?)는 소식을 들어서 그동안 배운 JPA를 사용해볼 겸, 개발 전 필요한 기능들이 무엇인지 고민해볼 겸 개인 프로젝트를 진행하기로 하였다.프로젝트 생성DependenciesSpring Web : Spring MVC, Apache Tomcat 등 웹 개발에 필요한 의존성을 제공Thymeleaf : Thymeleaf 템플릿 엔진을 사용하여 View를 렌더링 하기 위한 의존성을 제공Spring Data JPA : JPA를 사용하기 위한 의존성을 제공H2 DB : H2 DB 연동을 위한 의존성을 제공Lombok : 어노테이션을 사용하여 반복되는 코드를 줄이기 위한 의존성을 제공Validation : NULL 값 등 유효성 검증을 위한 의존성을 제공.. 2025. 1. 16. 이전 1 2 3 4 5 ··· 12 다음