본문 바로가기
Exception (예외)/Java

NullPointerException (예외)

by Hwanii_ 2023. 8. 21.
728x90

 

 

a) 메인 페이지 에서, 구독 버튼을 클릭 했을 때 발생 하는 예외.

 

b) java.lang.NullPointerException.

 

c) java.lang.NullPointerException 예외 ?

:

this.jdbcTemplate is null 이라 발생 하는 이슈 이다.

 

d) 해결 방안

 

 

우선,

구독 버튼을 누르면, SubscriptionController 로그가 뜨기 때문에,

해당 페이지를 확인 하기.

 

 

문제 없이 들어와지고,

 

 

selectOne() 메서드를 수행 한다.

 

 

selectOne() 메서드를 사용하는 주체는 subscriptionService 이므로,

해당 참조변수가 있는 클래스로 이동해보자.

 

 

서비스 레이어가 구현된 클래스 이고,

 

해당 클래스 내부에서 selectOne() 메서드를 호출하면,

subscriptionDAO를 주체로 selectOne() 메서드를 수행하므로,

최종적으로 DAO 클래스 내부로 가보자.

 

 

문제의 원인이 존재하는 클래스가 되겠다.

 

jdbcTemplate 멤버는 SubscriptionDAO와 의존 관계 이기 때문에,

DI (의존 주입) 이 필요 하다.

 

 

@Autowired 어노테이션을 달아서,

객체화가 되어있는 JdbcTemplate jdbcTemplate를 해당 클래스에 의존 주입을 해주면 해결 된다.

 

[ 참고 ]

 

JdbcTemplate jdbcTemplate는 어디서 객체화가 되어 있어 ?

 

applicationContext.xml 에 되어 있다 ~

 

 

혹시나, 위의 <bean> 태그로 jdbcTemplate를 객체화 == new 하지 않았다면,

 

서버를 열 때, 아예 열리지도 않게 된다.

 

 

왜냐하면, applicationContext.xml 파일은 루트 컨테이너로 설정 되어 있어서 그런듯 하다.

반응형

'Exception (예외) > Java' 카테고리의 다른 글

NoSuchElementException (예외)  (0) 2023.05.20
IndexOutOfBoundsException (예외)  (0) 2023.05.20
NullPointerException (예외)  (0) 2023.05.13
IndexOutOfBoundsException (예외)  (0) 2023.05.08