MemberController -> MemberService -> MemberDAO -> SqlSession -> memberMapper.xml
@Inject
MemberDAO memberDao;
MemberDAO memberDao = new MemberDAOImpl();
위의 두 코드가 같은 의미
public class MemberController {
@Inject
MemberService memberService;
}
// @ModelAttribute : 폼에서 전달된 값을 저장하는 객체
@RequestMapping("member/insert.do")
public String insert(@ModelAttribute MemberDTO dto) {
return "redirect:/member/list.do";
}
@ModelAttribute 생략가능, insert.jsp에서 폼에서 넣긴 값을 받아서 넘기는 것.
public String insert(@RequestParam String userid,
@RequestParam String passwd) {
return "redirect:/member/list.do";
}
// 이런식으로도 사용가능 하지만 @ModelAttribute가 코드의 양을 줄일수 있어
insert.do -> MemberController -> MemberService -> MemberServiceImpl
-> MemberDAO -> MemberDAOImpl -> memberMapper.xml
service는 계좌이체, 상품구매, 결제 등 제공되는 서비스의 단위
@Transactional
void method(){
memberDao.insertMember(dto);
memberDao.deleteMemberMember(dto.getUserid());
}
// 이렇게 되면 deleteMemberMember하다가 오류가 뜨면 전체가 rollback
<td><a href="${path}/member/view.do?userid=${row.userid}">${row.name}</a></td>
<input name="userid" value="${dto.userid}" readonly>
<td><fmt:formatDate value="${row.post_date}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
public interface MemoService {
public List<MemoDTO> list();
public void insert(MemoDTO dto);
public MemoDTO memo_view(int idx);
public void update(MemoDTO dto);
public void delete(int idx);
}
'개발' 카테고리의 다른 글
MemberDTO (0) | 2018.05.21 |
---|---|
spring 파일 업로드 (0) | 2018.05.21 |
부모 추상 인터페이스 (0) | 2018.04.03 |
Garbage Collector (0) | 2018.03.27 |
TDD와 BDD 차이점 (0) | 2018.03.24 |