스프링의 AOP(Aspect-Oriented Programming) 기술을 이용하여 트랜잭션을 자동으로 처리
메서드 내에서 DB 작업 등 여러 개의 데이터 처리 작업을 하나의 트랜잭션으로 처리하고
트랜잭션 중간에 문제가 발생하면 롤백(undo)하여 이전 상태로 되돌리는 작업 수행
@Transactional
@Override
public void writeBoard(Board board) throws Exception {
// 게시글 등록
if (boardDao.save(board) == 0) {
throw new Exception("게시글 등록 실패!");
}
// 첨부파일 등록
if (board.getAttachedFiles().size() > 0) {
boardDao.saveFiles(board);
}
}