한빛 올인원 스프링프레임워크 책을 보며 실습진행중인데 막히는부분이 있어서 이렇게 글남깁니다.
다름이 아니고 dao객체 구현부분에서 컨트롤러 -> 서비스 -> dao로 값을 전달하는 부분에서 컨트롤러 -> 서비스까지는 값이 제대로 넘어가는데 dao로 값이 넘어가지않고 계속 null에러가 출력됍니다.
코드는 아래와 같습니다.
-----------------------------
package com.company.hello.member;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
public class MemberController {
MemberService memberService = new MemberService();
@RequestMapping("/signUp")
public String signUp() {
return "sign_up";
}
@RequestMapping("/signUpConfirm")
public String signUpConfirm(MemberVo memberVo) {
System.out.println("signupconfirm");
System.out.println("m_id : " + memberVo.getM_id());
System.out.println("m_pw : " + memberVo.getM_pw());
System.out.println("m_mail : " + memberVo.getM_mail());
System.out.println("m_phone : " + memberVo.getM_phone());
memberService.signUpConfirm(memberVo);
return null;
}
@RequestMapping("/signIn")
public String signIn() {
return "sign_in";
}
}
-------------------------------
package com.company.hello.member;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
public class MemberService {
MemberDao memberDao;
public int signUpConfirm(MemberVo memberVo) {
System.out.println("[service] signupconfirm() ");
System.out.println("m_id : " + memberVo.getM_id());
System.out.println("m_pw : " + memberVo.getM_pw());
System.out.println("m_mail : " + memberVo.getM_mail());
System.out.println("m_phone : " + memberVo.getM_phone());
memberDao.insertMember(memberVo);
return 0;
}
}
--------------------------------------
package com.company.hello.member;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Component;
public class MemberDao {
private Map<String, MemberVo> memberDB = new HashMap<String, MemberVo>();
public void insertMember(MemberVo memberVo) {
System.out.println("MemberDao : insertMember()");
System.out.println("m_id : " + memberVo.getM_id());
System.out.println("m_pw : " + memberVo.getM_pw());
System.out.println("m_mail : " + memberVo.getM_mail());
System.out.println("m_phone : " + memberVo.getM_phone());
memberDB.put(memberVo.getM_id(), memberVo);
}
}
결과값은
signupconfirm
m_id : qwer
m_pw : qwer
m_mail : qwer
m_phone : qwer
[service] signupconfirm()
m_id : qwer
m_pw : qwer
m_mail : qwer
m_phone : qwer
java.lang.NullPointerException 이렇게 출력됩니다.... 도저히 이유가 안나와서 이렇게 글남깁니다