기존에 JDBC로 구현
갑자기 JPA로 구현해야 한다면?
이럴때 인터페이스로 결합시켜놨다면 바꾸기 어렵지 않아진다.
인터페이스로 구현 해보자
패키지명 바꾸기
NoticeService.java 패키지 위치 옮기기
JDBC붙여서 이름 변경
이렇게
JPA패키지 추가를 위해
에서
finish
인터페이스 추가
JDBCNoticeService -> NoticeService
Create~
그러면 인터페이스에 메소드 생성된다.
JDBC 가서 NoticeService implements한다
전체 복사 시작지점
완전 끝까지 복사
커서 블록에
커서내용 지우면서 복사한 부분 붙여넣기
내용 삭제
정리 완성
package com.newlecture.web.service;
import java.sql.SQLException;
import java.util.List;
import com.newlecture.web.entity.Notice;
public interface NoticeService {
List<Notice> getList(int page, String field, String query) throws ClassNotFoundException, SQLException;
int getCount() throws ClassNotFoundException, SQLException;
int insert(Notice notice) throws SQLException, ClassNotFoundException;
int update(Notice notice) throws SQLException, ClassNotFoundException;
int delete(int id) throws ClassNotFoundException, SQLException;
}
인터페이스 완성
이건 구현하지 않을 것임
나중에 DAO를 만들어서 계층 나눠서 거기서 구현할 예정
지금은 인터페이스 중요성을 파악하기 위해 진행 중
과거에 만든 NoticeService가 지금은 인터페이스이므로 수정해주자
<bean id="noticeService" class="com.newlecture.web.service.JDBCNoticeService" />
만약 JDBC로 구현하던걸 JPA로 구현해야 한다고 하면
<bean id="noticeService" class="com.newlecture.web.service.JPANoticeService" />
이부분만 바꿔주면 되기 때문에 매우 편리해진다.
jdbc패키지 확장 했으므로 추가해 줄 것.
푸터에 이미지 오류가 좀 있긴하지만
게시글은 잘 불러와 진다
/ 추가해주니 이미지가 정상적으로 불러와진다
출처:
https://www.youtube.com/watch?v=QQTkSVLnYQs&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=48
댓글