Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
more
Archives
Today
Total
관리 메뉴

파란색가운의 개발 블로그

Spring Boot 개념정리 본문

인프런 실습 모음/Spring Boot

Spring Boot 개념정리

파란색 가운 2024. 6. 22. 18:48

@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) 

-> 엔터티의 기본 키를 자동으로 생성해준다