안녕하세요.

오늘은 의존성 주입을 했지만 NullPointerException 에러가 나오는 이유를 알아보려해요

원인
1. @service 어노테이션이 없다.

클래스 이름이 NoramlUtil 이구요
위에 @Service 어노테이션을 이용해서 Bean 등록을 해주어야해요

원인 ( 제 경우 )
2. NoramlUtil 클래스를 호출한 상위 클래스에서 NoramlUtil 클래스를 new 로 생성하여 호출했다.

빨간 네모 박스안에 보이시나요?
NormalUtil 클래스를 객채로 생성하여 사용하고 있어요.


그런데 이렇게 사용해버리면 spring bean 에 등록이 된 상태가 아니기 때문에 NormalUtil 도 못찾고
NormalUtil 안에서 다른 클래스들을 Autowired 로 선언해도 어차피 NormalUtil 이 bean 등록이 안되어서 소용이 없는 것이었어요
그래서 아래처럼 의존성주입을 해야해요

빨간 박스처럼요

의존성 주입은 프로젝트마다 다르기 때문에 위의 방법 보다는
클래스를 new 생성자보다 의존성 주입해서 사용하자! 라고 생각하면 될 것 같아요

반응형

+ Recent posts