해결된 질문
작성
·
1.4K
1
질문드립니다!
압축 코드 링크 : https://drive.google.com/file/d/1c30gucjwJ5fwL7lJtsSv2SR2-pWLPLbR/view?usp=sharing
자꾸 스프링 컨테이너에 bean이 등록되어 있지 않다고 오류가 뜨는데 도저히 해결 방법을 모르겠습니다. ㅠㅠ
답변 1
@Test
void basicScan() {
AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);
System.out.println("================");
String[] beanDefinitionNames = ac.getBeanDefinitionNames();
for(String beanDefinitionName : beanDefinitionNames) {
BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName);
if (beanDefinitionName.contains("memberService")) {
if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) {
System.out.println("beanDefinitionName : " + beanDefinitionName +
" beanDefinition : " + beanDefinition);
}
}
}
System.out.println("================");
// MemberService memberService = ac.getBean(MemberService.class);
// assertThat(memberService).isInstanceOf(MemberService.class);
}
위 코드로 테스트해보시겠어요?
================
beanDefinitionName : memberServiceImpl beanDefinition : Generic bean: class [hello.core.member.MemberServiceImpl]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in file [/Users/OMG/Downloads/core/build/classes/java/main/hello/core/member/MemberServiceImpl.class]
================
이런식으로 출력이 되어야 합니다.
답변 감사드립니다.
아무것도 뜨지 않네요... ㅠㅠ 아예 component등록이랑 scan쪽이 먹통인 것 같습니다.
다음 실습인 필터 어노테이션 생성쪽에서도
component로 자동 등록 했을 때 bean을 아예 인식 못하네요..
매우 특이한 상황인거 같아서 당황스럽네요..ㅎㅎ
하나 더 확인해보셨으면 하는 것은
강의에서 프로젝트 처음 생성할 때와 동일하게 하여(core) 기존에 만드신 프로젝트 코드를 복사 붙여넣기로 넣어서 확인해보시겠어요?
1.새로운 프로젝트 생성
2.윈도우 탐색기에서 기존 코드 core폴더 아래의 내용을 복사하여 새로운 프로젝트로 붙여넣기
이렇게 새로운 프로젝트 환경 + 기존코드로 확인해보시면 좋을 것 같습니다.
네 동일합니다. 저는 여전히 같은 오류가 뜨네요..
전체 테스트 결과는 이렇습니다
그럼 코드 자체에는 문제가 없고 인텔리j에서 설정이 잘못되어 있는 걸까요..?