일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 페이지분석
- 배열 3요소
- 숫자 형식
- 키-값 데이터베이스
- 크롤링
- 함수 선언
- 생성자
- HTML역사
- 숫자형식오류
- R1C3
- 크롤링 오류
- DoitSQL입문
- 데이터베이스
- 웹 브라우저 전쟁
- dbms
- Doit입문SQL
- 예외
- 예제
- 함수
- SQL
- 배열 예제
- 웹브라우저 수용도
- 자바
- DoitSQL
- DoIt
- html
- 자바 예외
- SQL입문
- 우아한테크
- 자바 오류
Archives
- Today
- Total
프로그래밍
[Spring] day60 : Service와 ServiceImplement(+@Repository) 본문
728x90
반응형
2023.08.02.수
Service와 ServiceImplement
@Repository
@Repository는 @Component를 상속받는다
다만 Model 파트에서 사용하기에 관점분리에 유리하며
메모리 관리에 유리하며 속도가 향상된다
"DAO"라고 이름이 붙지 않을 수도 있는데 해당 어노테이션으로 구분 또한 가능하다
즉, 가독성이 향상된다
DAO는 자주 바뀌지 않기 때문에 어노테이션을 활용할 것이다
Service
Service 레이어는 관념적으로 존재한다
이렇게 관념적으로 존재하는 Service 레이어를 구현한 클래스는 DAO를 직접 사용하게 된다
ServiceImple == Service 레이어를 구현한 클래스
== DAO를 직접 사용하는 주체
package com.spring.biz.board;
import java.util.List;
public interface BoardService {
public BoardVO selectOne(BoardVO bVO);
public List<BoardVO> selectAll(BoardVO bVO);
public boolean insert(BoardVO bVO);
public boolean update(BoardVO bVO);
public boolean delete(BoardVO bVO);
}
ServiceImple
DAO를 사용할 것이기 때문에 메서드 시그니처를 통일하는 것이 좋다
메서드 시그니처를 강제하고 싶으므로 인터페이스를 통하여 구현할 것이다
package com.spring.biz.board;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("boardService")
public class BoardServiceImpl implements BoardService {
@Autowired
private BoardDAO boardDAO;
// 의존관계 -> DI
@Override
public BoardVO selectOne(BoardVO bVO) {
return boardDAO.selectOne(bVO);
}
@Override
public List<BoardVO> selectAll(BoardVO bVO) {
return boardDAO.selectAll(bVO);
}
@Override
public boolean insert(BoardVO bVO) {
return boardDAO.insert(bVO);
}
@Override
public boolean update(BoardVO bVO) {
return boardDAO.update(bVO);
}
@Override
public boolean delete(BoardVO bVO) {
return boardDAO.delete(bVO);
}
}
https://github.com/jihyean/Spring/tree/main/day60/src/main
728x90
반응형
'자바 > Spring' 카테고리의 다른 글
[Spring] day61 : Command 객체 (0) | 2023.08.13 |
---|---|
[Spring] day61 : Spring MVC로 변경하기 (2) | 2023.08.12 |
[Spring] day59 : new 객체화(인스턴스화) (0) | 2023.08.10 |
[Spring] day59 : 의존 관계와 의존 주입(DI) (0) | 2023.08.09 |
[Spring] day58 : 스프링 프레임워크 (0) | 2023.08.09 |
Comments