본문 바로가기

분류 전체보기82

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.
추상 클래스, 인터페이스 추상 클래스abstract class AbstractExample {...}추상적인 개념을 제공하는 클래스로서 실체인 인스턴스가 존재하지 않음상속을 목적으로 사용되며 부모 클래스 역할을 담당클래스 선언 시 abstract 키워드를 사용기존 클래스와 완전히 같지만 new 클래스명() 과 같이 직접 인스턴스를 생성하지 못하는 제약이 추가됨추상 클래스 생성 시 cannot be instantiated 컴파일 오류가 발생하므로 인스턴스를 생성할 문제를 근본적으로 방지메모리 구조는 기존 클래스와 동일추상 메서드public abstract void testMethod();추상적인 개념을 제공하는 메서드로서 실체가 존재하지 않고, 메서드 바디가 없음추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언해야 함그렇지.. 2025. 1. 2.