hy6
Entity란? + 리포지터리, DI 그 외 본문
점프 투 스프링 부트
Entity란? + 리포지터리, DI 그 외
rantinum
2023. 10. 10. 09:12
엔티티(Entity)
- 정의: 데이터베이스 테이블과 매핑되는 자바 클래스. "모델" 또는 "도메인 모델" 이라 부르기도 한다.
리포지터리(Repository)
- 정의: 엔티티에 의해서 생성된 DB 테이블에 접근하는 메서드들을 사용하기 위한 인터페이스.
- 데이터 처리를 위해서는 CRUD(테이블에 어떤 값을 넣거나 값을 조회 하는 행위)가 필요한데, CRUD를 어떻게 처리할지 정의하는 계층이 리포지터리 이다.
DI(Dependency Injection)
- 스프링이 객체를 대신 생성하여 주입한다.
@Autowired
- 정의: 객체를 주입하기 위해 사용하는 스프링의 애너테이션
- 객체를 주입하는 방식에는 @Autowired 외에 Setter 또는 생성자를 사용하는 방식이 있다. 대부분 순환참조의 문제로 @Autowired보다는 Setter이나 생성자를 많이 사용한다. 허나 테스트 코드의 경우에는 객체를 참조 할 수 없으므로 텍스트 코드 작성시에만 @Autowired를 사용한다.
@Test 애너테이션
- 역할: 해당 매서드가 테스트 매서드임을 나타냄.
JUnit
- 정의 : 테스트 코드를 작성하고 실행하기 위한 자바의 테스트 프레임워크.