memberDAO를 주입해 주는 코드를 주석으로 막음
@Configuration
public class BeanConfig {
@Bean
public MemberDAO memberDAO() {
return new MemberDAOImpl();
}
@Bean
public MemberService memberService() {
MemberServiceImpl m = new MemberServiceImpl();
//m.setMemberDAO(memberDAO());
return m;
}
}
실행 시 nullPointerException이 뜬다
public class MemberServiceImpl implements MemberService {
@Autowired
MemberDAO dao;
public void setMemberDAO(MemberDAO dao) {
this.dao = dao;
}
@Override
public void regist() {
// MemberDAO dao = new MemberDAO();
dao.regist();
}
}
@Autowired 어노테이션을 추가 해 주면 알아서 bean을 주입 해 준다(자동 주입)
이 때, 반드시 bean에 등록된 객체만 가능하다