[TIL] 2022-03-04

nathan·2022년 3월 4일
0

TIL

목록 보기
29/34

스프링 시작 - 1주차 주간회고

😍 좋았던 것(Liked)

  • 스프링.. 너 생각보다 재밌는데?
    • 라고 하기엔 양이 많았다..ㅋ
  • 코드스쿼드 멤버들에게 고마운 한 주였다.
    • 잡담을 잘 받아준 6조 멤버들
    • 새벽을 같이 함께 해준 멤버들
  • 한 주 동안 꾸준히 학습과 회고를 놓치지 않았다.
  • 주말에 코드스쿼드 멤버들과 모각코를 진행했다.
    • 처음봤는데도 불구하고, 반갑게 맞아준 준, 타니, 피오, 리아코에게 감사하다.
    • 두 번째로 만난 반스와 함께 깃을 구체적으로 이해하는 수준까지 가게되어 참 좋았다.
      • 반스에게 말은 안했지만, 같이 해줘서 정말 고마웠다.

📚 배운 것(Learned)

  • 싱글톤 방식의 주의점에 대해 학습했습니다.
    • 스프링 빈은 항상 무상태로 설계해야 한다.(객체 인스턴스를 공유하므로)
      • 값 변경할 수 있는 필드나 특정 클라이언트에 의존적인 필드가 있으면 안된다.
      • 가급적 읽기만 가능해야 한다.
  • 스프링은 어떻게 @Configuration을 통해 싱글톤 방식을 유지할 수 있나?
    • CGLIB(바이트코드 조작 라이브러리)를 통해 임의의 다른 클래스로 상속받은 클래스가 실제로는 스프링 빈으로 등록이 되는 것(이 덕분에 싱글톤이 보장됨)
  • 컴포넌트 스캔(@ComponentScan)
    • @Autowired를 생성자에 붙이면, 자동으로 의존관계 주입(DI)이 이루어진다.
      • 스프링 컨테이너가 자동으로 해당 빈을 찾아서 주입한다.
      • 생성자에 파라미터가 많아도 다 찾아서 자동으로 주입한다.
  • 빈 중복등록과 충돌(평소에 궁금했던 점인데, 강의에서 나왔고, 정리할 수 있어 좋았다.)
    • 1) 자동빈 등록 vs 자동빈 등록
      • Conflicting Bean Definition Exception이 발생
    • 2) 수동빈 등록 vs 자동빈 등록
      • 수동빈 등록이 우선권을 가져서 자동빈을 오버라이딩 했으나, 여러가지 문제점으로 인하여 최근 스프링 부트에서는 오류가 발생된다.
      • Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
      

💦 부족했던 것(Lacked)

  • 어떻게 학습을 해나가야할지 확신이 서지 못했습니다. 이게 잘하고 있는 것인지에 대한 의문도 많이 들었습니다. 다음주엔 확신이 서기를 바랍니다.
  • 이번 한 주 동안 운동은 고작 2번뿐.. 꾸준함이 가장 중요하다.

🕯 다음주에 바라는 것(Longed for)

  • 운동 최소 4일 이상하기(축구 포함)
  • 개구리책 2챕터 이상 읽기
  • 미션 2까지 끝내기!
profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

4개의 댓글

comment-user-thumbnail
2022년 3월 6일

반가웠어요 나단~~ 또 봐용~~ 😁

1개의 답글
comment-user-thumbnail
2022년 3월 7일

나단 아주 멋짐니다~~

1개의 답글