냘로하
155
2020-09-21 16:34:10
5
206

dao단에서 nullpointException 발생 원인을 알고 싶습니다 ㅠㅠ


안녕하세요. 

몇시간 전에 질문을 올렸는데 아직 이해를 못해서 다시 올려봅니다 ㅠㅠ

오류 코드를 보면 null값을 받아서 오류가 뜬걸로 아는데 

java.lang.NullPointerException: Cannot invoke "com.board.dao.BoardDao.listboard(com.board.dto.BoardDto)" because "this.bDao" is null
	at com.board.service.BoardService.listboard(BoardService.java:19)
	at com.board.controller.BoardController.boardlist(BoardController.java:25)

컨트롤러 

@Controller
public class BoardController {
	
	@Autowired
	BoardService service;
	
	
	@RequestMapping("/board")
	public ModelAndView boardlist (ModelAndView mv ,BoardDto dto) {
		System.out.println("boardlist 메소드 진입하였습니다.");
		
		System.out.println(dto+"dto안의 값입니다.");
		List<BoardDto> dtolist = service.listboard(dto);
		mv.addObject("boardlist", dtolist);
		mv.setViewName("boardlist");
		return mv;
	}
}

서비스

@Service
public class BoardService {
	
	@Autowired
	BoardDao dao;

	public List<BoardDto> listboard(BoardDto dto) {
		System.out.println("boardservice의 boardlist도착");
		List<BoardDto> result = dao.listboard(dto);
		return result ;
	}
	
	
	

}

DAO단



public class BoardDao extends SqlSessionDaoSupport{
	
	@Autowired
	SqlSessionTemplate session;

	public List<BoardDto> listboard(BoardDto dto) {
		System.out.println("dao 도착했습니다.");
		List<BoardDto> result = session.selectList("boarddate.listboard", dto);
		return result;
	}

}

이렇게 코드가 작성되어있는데 java단에서는 문제가 없다고 나오는데 어디서 문제가 나왔는지 이해를

못하겠어요....



<!-- DI처리 -->
		<bean class="com.board.service.BoardService" id="bService"></bean>
		<bean class="com.board.dao.BoardDao" id="bDao">
			<property name="sqlSessionTemplate" ref="sqlSession"/>
		</bean>

root-context.xml파일에 해당 주소로 DI했는데 뭔가가 더 필요한것같은데 감을 잘 못잡겠어요.

혹시라도 다른 방법 생각나는게 있으시면 말씀 좀 부탁드립니다. ㅠㅠ

0
  • 답변 5

  • 라모네기사
    150
    2020-09-21 16:38:57
    <property name="sqlSessionTemplate" ref="sqlSession"/>

    에 name을 session 으로 변경해보심이..

  • 냘로하
    155
    2020-09-21 16:43:54
  • 냘로하
    155
    2020-09-21 17:28:09

    음 빨간줄이 생기면서 오류가 생기네요... 그래도 오류는 같은내용입니다. 

    mybatis bean 추가가 안되는 상황이네요. 원인은 찾아서 다행입니다. ㅠㅠ

  • 난쟁
    74
    2020-09-22 01:38:10
    제 생각엔 문제가 중첩되 있어 보여요.
    1. java config 과 xml config이 혼합되 있어요. 이걸 한쪽으로 통일해주세요.
    2. mybatis 공식 문서를 보니 SqlSessionDaoSupport와 sqlSessionTemplate 사용법이 혼합되 있는것 같아요. 이것도 통일 시켜주세요.
    제 개인적으론 이해하기 쉬운 java config 방식으로 작업 하시는걸 추천드려요
  • 냘로하
    155
    2020-09-22 08:37:55

    난쟁 

    감사합니다! 아직 숙련도가 부족하다 보니 양쪽방법이 다 섞였어요 ㅠㅠ... 

    피드백 참고해서 오류 잡아 보겠습니다! 

  • 로그인을 하시면 답변 을 등록할 수 있습니다.