발생
게시판 만들기 프로젝트 진행 도중 테스트 코드 작성 후 실행 시 해당 오류가 발생하였다.
에러 로그
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 어노테이션이 빠져 있어서 해당 어노테이션을 추가해주었다.
'에러노트' 카테고리의 다른 글
Could not resolve placeholder '' in value "${}" (0) | 2025.07.03 |
---|---|
Bean property '필드명' is not readable or has an invalid getter method (0) | 2025.01.28 |
expected at least 1 bean which qualifies as autowire candidate (0) | 2025.01.21 |