작성
·
27
·
수정됨
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
"java Code로 DI 사용하기" 영상의 설정 완료 후 서버 재시작했는
콘솔창에 bean이 출력이 안되는데 이유가 뭘까요?
콘솔창에 아무것도 출력이 안됩니다.
직접 설정도 해보고 소스코드 복사해서도 해봤는 계속 안되네요
package com.study.springboot;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.study.springboot.bean.Config;
//@SpringBootApplication
public class JavaCodeDi1Application {
public static void main(String[] args) {
// SpringApplication.run(JavaCodeDi1Application.class, args);
ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
}
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
konan7979님, 문의하신 “java Code로 DI 사용하기”에서 콘솔창에 Bean이 출력되지 않는 문제에 대해 설명드리겠습니다.
주신 코드만으로는 Bean이 생성되었음에도 불구하고 왜 콘솔창에 아무것도 출력되지 않는지 명확히 알 수 없으나, Bean이 생성되어 ApplicationContext에 등록된 후 해당 Bean을 직접 사용해서 정보를 출력하는 로직이 누락된 것 같습니다.
Bean이 정상적으로 등록되었는지 확인하고 결과를 콘솔에 출력하려면, 등록된 Bean을 가져와서 사용하는 과정이 필요합니다. 예를 들어, Config
클래스에 Bean으로 등록된 클래스의 인스턴스를 가져와서 그 내용을 출력하는 과정이 필요할 수 있습니다.
// ApplicationContext에서 Bean을 가져와 사용하는 예시 코드
Object bean = context.getBean(등록된Bean의이름또는타입);
System.out.println(bean.toString()); // bean.toString()은 해당 객체의 toString 메소드를 호출하여 콘솔에 출력
위 코드 예시처럼 context.getBean()
메소드를 사용하여 ApplicationContext에 등록된 Bean의 인스턴스를 가져온 후, 적절한 메소드(예: toString()
)를 사용해 그 내용을 콘솔에 출력하는 로직을 추가해보시기 바랍니다.
이처럼 Bean을 사용하는 과정에서 콘솔에 출력할 내용을 정의하고, 그 출력 로직을 main
메소드에 추가하면 Bean 생성 여부를 콘솔에서 확인할 수 있을 것입니다.
질문에 기반한 코드로만 판단했을 때의 가능한 해결책이며, 더 자세한 상황이나 오류 메시지가 있다면 그에 따라 달라질 수 있음을 참고해주세요.