[프레젠테이션 계층]
@RestController
public class TestController{
@Autowired // TestService 빈 주입
TestService testService;
@GetMapping("/test")
public List<Member> getAllMembers(){
List<Member> members = testService.getAllMembers();
return members;
}
}
[비즈니스 계층]
@Service
public class TestService{
@Autowired // MemberRepository 빈 주입
MemberRepository memberRepository;
public List<Member> getAllMembers(){
return memberRepository.findAll(); // memberRepository에 있는 Member 모두 검색
}
}
[퍼시스턴트 계층]
DB에 접근할 때 사용할 객체인 Member DAO를 생성
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Getter
@Entity
public class Memeber{
@Id
@GeneraltedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false)
private Long id; // DB 테이블의 id 칼럼과 매칭
@Column(name = "name", nullable = false)
private String name; // DB 테이블의 name 칼럼과 매칭
}
매핑 작업을 위한 MemberRepository 인터페이스 파일 생성
@Repository
public interface MemberRepository extends JpaRepository<Member, Long> {
}
* JpaRepository : PagingAndSortingRepository, QueryByExampleExecutor 상속
- PagingAndSortingRepository : 기본 CRUD 기능을 제공하는 CrudRepository 인터페이스 상속
- QueryByExampleExecutor : 더 다양한 CRUD 제공
'학습 기록 > 스프링 부트3 백엔드 개발자 되기[자바편]' 카테고리의 다른 글
[03장.3] 스프링 부트 요청-응답 과정 한 방에 이해하기 (0) | 2023.08.29 |
---|---|
[03장.2] 3. 기본 프로그램 작동 확인(03장.2-2 코드) (0) | 2023.08.29 |
[03장.2] 1. build.gradle에 의존성 추가 (0) | 2023.08.28 |
[03장.1] 2. 스프링부트 프로젝트 디렉터리 구성 & main 디렉터리 구성 (0) | 2023.08.28 |
[03장.1] 1. 카페와 빵집으로 이해하는 계층 (1) | 2023.08.28 |