スプリング入門(2)


Optionalクラス

null이 올 수 있는 값을 감싸는 Wrapper 클래스로 NullPointerException 방지
출처: https://mangkyu.tistory.com/70 [MangKyu's Diary]

2つのAssertionsクラス

import org.junit.jupiter.api.Assertions;
import org.assertj.core.api.Assertions;

stream().filter(~~~).findAny()

    @Override
    public Optional<Member> findByName(String name) {
        return store.values().stream()
                .filter(member-> member.getName().equals(name))
                .findAny();
    }

Test

clear로 데이터 초기화 (Test할 때 메서드 순서가 랜덤이므로 이로 인해 생기는 문제 해결 방법)

TDD (Test Driven Development)

테스트 클래스를 먼저 작성 후 개발 하는 것

refactor

로직이 들어나는 부분을 메서드로 만들어서 호출
우클릭 -> refactor -> extract method (ctrl+alt+m)

注入DI依存性

MemberService, MemberServiceTest 클래스에서 각각
    private final MemberRepository memberRepository;

    public MemberService(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }
    MemberService memberService;
    MemoryMemberRepository memberRepository;

    @BeforeEach
    public void beforeEach(){
        memberRepository = new MemoryMemberRepository();
        memberService = new MemberService(memberRepository);
    }

ちょうせい


@Test

테스트를 해볼 수 있는 어노테이션

@AfterEach

메서드가 끝날때마다 호출되어 처리하게 동작하는 어노테이션

@BeforeEach

메서드가 실행되기 전 호출되어 처리하게 동작하는 어노테이션

ショートカットキー

ctrl+alt+v	타입과 변수명
shift+f6	변수명 변경 단체? 구역?
ctrl+b		선언부분 or 사용부분 찾아가는 단축키
alt+enter	import static