[스프링 기본] 예제 만들기(2)
🤗 인프런 [스프링 핵심원리-기본편]을 듣고 기록하는 글입니다
진행과정
- spring starter 팩, spring starter tester 팩 이 두 기본 라이브러리만 사용했음.
- jpa같은것도 안쓰고, interface써서 객체지향적으로 구조짜는것에 중점둬서 진행함.
- memberRepository, MemoryMemberRepository를 만들어서 사용해봄. interface하고 구현체 관계임.
- 위처럼 구현하고, ServiceImpl에서
memberRepository = new MemoryMemberRepository();
이렇게 선언한다
새로 알게 된 개념
- DB없이 그냥 메모리를 사용하는 경우에는
private static Map<Long, Member> store = new HashMap<>();
-
실제로 실무에서는 HashMap 안쓰고 ConcurrentHashMap쓴다고함. 동시성 문제 때문에!
-
진행과정처럼 repository를 선언을 하면,
memberRepository.save()
를 사용했을시에 다형성에 의해서 interface의 save가 아닌, memoryMemberRepository의 save(오버라이딩한거)가 호출됨
기타 꿀팁
-
alt + insert(단축키) 누르면 generate 팝업창 뜸 → setter, getter, 생성자 만드는 팝업
-
show option 메뉴에서
- flat 패키지 (efub.backery가 한 패키지로)
- compact 패키지(efub, backery가 각각 다른 패키지로)
- 뭘 누르냐에 따라 그 왼쪽 파일구조 조금 다르게 보임
-
ctrl + shift + enter 치면 그 코드 자동완성에다가, 끝에 ";" 세미콜론까지 깔삼하게 붙여줌
Author And Source
이 문제에 관하여([스프링 기본] 예제 만들기(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@siyeonkm/스프링-기본-예제-만들기2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)