파란색가운의 개발 블로그
Spring Boot 개념정리 본문
@AfterEach
-> 모든 테스트는 각각 독립적으로 실행되어야 한다
메모리 DB에 각각의 테스트가 영향을 끼치지 않아야 함
@AfterEach
public void afterEach(){
repository.clearStore();
}
클래스 앞부분에 이 코드를 붙여주면 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행될 수 있다.
import static org.assertj.core.api.Assertions.*;
assertThat(result).isEqualTo(member);
저기 assertThat에서 기댓값이 같게 나오면 -> test case가 성공적으로 돌아가고,
else -> 빨간불이 들어오면서 오류 출력
JAVA에서 final 변수 -> JavaScript 내에서의 const와 같은 존재
재할당이 불가능하다는 것이 특징이다
@BeforeEach
-> 각 테스트가 실행 전에 호출, 테스트가 영향이 없도록 항상 새로운 객체를 생성하고 의존 관계 또한 새로 맺어주는 기능
@BeforeEach
public void beforeEach() {
memberRepository = new MemoryMemberRepository();
memberService = new MemberService(memberRepository);
}
@Autowired
-> 스프링이 연관되어있는 객체를 스프링 컨테이너에서 찾아서 주입해주는 기능
(원래는 생성자를 통해서 직접 객체를 주입받아야 했던 자바와는 다르게, 생성자를 사용할 필요가 없다)
생성자가 1개면 생략 가능 , 2개 이상이라면 작성해주어야 함
의존 관계를 외부에서 주입해주는 것 -> "의존성 주입" ( Dependency Injection)
참고사항 ) HelloController는 스프링 내에서 제공하는 컨트롤러이다
DataSource -> 데이터베이스 커넥션을 획득할 때 사용하는 객체
스프링부트는 이 정보를 기반으로 dataSource를 생성하고 스프링 빈으로 만듦
private final DataSource dataSource;
public SpringConfig(DataSource dataSource) {
this.dataSource = dataSource;
}
JPA
@GeneratedValue(strategy = GenerationType.IDENTITY)
-> 엔터티의 기본 키를 자동으로 생성해준다
'인프런 실습 모음 > Spring Boot' 카테고리의 다른 글
[Spring Boot] 스프링부트 Static Files / 프론트엔드(JS)와 사진은 어떻게 통신해야 할까? (1) | 2024.07.13 |
---|