이 프로젝트는 Spring Framework를 활용한 웹 게시판 시스템입니다. CRUD 기능과 댓글 시스템을 구현하였으며, RESTful API 설계 및 구현도 포함되어 있습니다.
- 게시판 CRUD 기능 구현
- 댓글 시스템 개발 (대댓글 포함)
- 사용자 인증 및 권한 관리
- 페이징 및 검색 기능 구현
- RESTful API 설계 및 구현
- 언어: Java 11, HTML, CSS, JavaScript, jQuery, JSP
- 프레임워크/라이브러리: Spring Framework, MyBatis
- 서버: Tomcat 9
- 데이터베이스: MySQL
- 개발 도구: IntelliJ
- 버전 관리: Git
이 프로젝트에서 댓글 시스템은 사용자 경험을 향상시키기 위해 비동기적으로 처리되었습니다. 이는 페이지 전체를 새로고침하지 않고도 댓글을 추가, 수정, 삭제할 수 있게 해줍니다.
구현 방법:
- jQuery를 사용하여 AJAX 요청을 처리했습니다.
- RESTful API 엔드포인트를 만들어 댓글 관련 작업을 처리했습니다.
- 클라이언트 측에서는 JavaScript를 사용하여 DOM을 동적으로 업데이트했습니다.
트랜잭션 관리는 데이터베이스 작업의 원자성, 일관성, 격리성, 지속성(ACID)을 보장하는 중요한 개념입니다. 이 프로젝트에서는 Spring의 선언적 트랜잭션 관리를 사용하여 이를 구현했습니다.
구현 방법:
- @Transactional 어노테이션을 사용하여 트랜잭션이 필요한 메서드나 클래스에 적용했습니다.
- 설정 파일(root-context.xml)에서 트랜잭션 관리자를 설정했습니다.
이러한 구현을 통해 데이터의 무결성을 유지하고, 여러 데이터베이스 작업이 하나의 단위로 처리되도록 보장했습니다.