본문 바로가기
에러노트

UnsatisfiedDependencyException : Unsatisfied dependency expressed through constructor parameter 0

by o3oppp 2025. 1. 21.

발생

게시판 만들기 프로젝트 진행 도중 테스트 코드 작성 후 실행 시 해당 오류가 발생하였다.

에러 로그

UnsatisfiedDependencyException : Unsatisfied dependency expressed through constructor parameter 0

해당 에러는 구글링 결과 '빈 생성시에 필요한 것이 빠졌거나, 잘못되었으니 고쳐라' 라는 에러라고 한다. 로그에서 알려주는 클래스를 확인해보았다.

해결

@Service
@RequiredArgsConstructor
@Transactional(readOnly = true)
public class PostService {
	
    private final MemberRepository memberRepository;
    private final PostRepository postRepository;
    private final PostStatus postStatus;

    /**
     * 게시글 등록
     */
    @Transactional // 에러 발생 원인
    public Long savePost(Long memberId, PostDto postDto){
        Member member = memberRepository.findOne(memberId);
        Post post = new Post();
        post.setTitle(postDto.getTitle());
        post.setContent(postDto.getContent());
        post.setStatus(PostStatus.CREATE);
        post.setPostDate(postDto.getPostDate());
        post.setMember(member);
        postRepository.savePost(post);
        return post.getId();
    }

    /**
     * 게시글 조회
     */
    public Post findPostById(Long postId){
        return postRepository.findOne(postId);
    }
	...
}

savePost 메서드에 @Transactional 어노테이션이 빠져 있어서 해당 어노테이션을 추가해주었다.