블로그 미니프로젝트 코드 구현 후 런시행시 에러.....
번역해본결과... 빈 생성시에 필요한 것이 빠졋거나. 잘못되었으니 고쳐보아라 ~ 에러 와함께
아래 .. 인터페이스에서 추가기능 구현한 메서드를 구현하지 못한다고 되어 있습니다.
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-12-09 14:09:20.651 ERROR 30196 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'postsController' defined in file
[C:\Users\werqo\OneDrive\바탕 화면\woni\woniblog\build\classes\java\main\com\example\woniblog\controller\PostsController.class]:
Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'postsService' defined in file [C:\Users\werqo\OneDrive\바탕 화면\woni\woniblog\build\classes\java\main\com\example\woniblog\service\PostsService.class]:
Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'postsRepository' defined in com.example.woniblog.repository.PostsRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.
EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.Optional com.example.woniblog.repository.PostsRepository.findOne(); Reason: Failed to create query for method public abstract java.util.
Optional com.example.woniblog.repository.PostsRepository.findOne()! No property 'findOne' found for type 'Posts'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.example.woniblog.repository.PostsRepository.findOne()! No property 'findOne' found for type 'Posts'
Error creating bean with name 'postsController' defined in file
[C:\Users\werqo\OneDrive\바탕 화면\woni\woniblog\build\classes\java\main\com\example\woniblog\controller\PostsController.class]:
파일에 정의된 이름이 'postsController'인 빈을 생성하는 중 오류가 발생했습니다.
Unsatisfied dependency expressed through constructor parameter 0
생성자 매개변수 0을 통해 표현되는 충족되지 않은 종속성
nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException
중첩 예외는 org.springframework.beans.factory.UnsatisfiedDependencyException입
Error creating bean with name 'postsService' defined in file [C:\Users\werqo\OneDrive\바탕 화면\woni\woniblog\build\classes\java\main\com\example\woniblog\service\PostsService.class]:
Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'postsRepository' defined in com.example.woniblog.repository.PostsRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.
Optional com.example.woniblog.repository.PostsRepository.findOne()! No property 'findOne' found for type 'Posts'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.example.woniblog.repository.PostsRepository.findOne()! No property 'findOne' found for type 'Posts'
선택적 com.example.woniblog.repository.PostsRepository.findOne()! '게시물' 유형에 대해 'findOne' 속성이 없습니다. 중첩된 예외는 java.lang.IllegalArgumentException: 공개 추상 java.util.Optional com.example.woniblog.repository.PostsRepository.findOne() 메서드에 대한 쿼리를 만들지 못했습니다! 유형 '게시물'에 대해 'findOne' 속성이 없습니다.
1) 우선 해당 클래스 별 어노테이션이 잘 들어가 있는지 확인 , 순서도 확인
- Service 클래스의 메서드에 @Transactional 이 빠진 부위 발견하여 추가함
그 후에도 여전히 Optional com.example.woniblog.repository.PostsRepository.findOne()! No property 'findOne' found for type 'Posts'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.example.woniblog.repository.PostsRepository.findOne()! No property 'findOne' found for type 'Posts' 로
2) 인터페이스 부분에 가서 새로 구현을 했지만 여전히 똑같아서 팀원에게 도움을 요청했습니다.
인터페이스 에서
public interface PostsRepository extends JpaRepository<Posts,Long> {
List<Posts> findAllByOrderByModifiedAtDesc();
Posts findById();
}
(1) findAllByOrderModifiedAtDesc( )-> findAllByOrderByModifiedAtDesc( );
By 가 빠짐
(2) Posts findById(); .......... 기존에 있던 메서드여서 굳이 만들어줄 필요가 없었습니다.
동기사랑 코드사랑입니다. ㅠㅠㅎ