[Spring] 0720 정리

charco·2021년 7월 20일
0

토비스프링

목록 보기
9/11

  • 코드를 작성할때 DI를 의식하면서 설계하는게 좋음
    DI를 적용할때는 가능한 한 인터페이스를 사용하세 해야함

  • HashMap -> 멀티쓰레드 환경에서 동시에 수정을 시도하거나 수정과 동시에 요청하는 경우 예상치 못한 결과가 발생할 수 있음.

  • ConcurrentHashMap -> 동기화된 해시 데이터 조작에 최적화됨

  • Embedded Database -> 애플리케이션과 함께 시작되고 종료되는 DB
    데이터가 메모리에 저장되기 때문에 IO로 발생하는 부하가 적음

  • 스프링의 EmbeddedDatabaseBuilder -> DB엔진 생성 초기화 -> 스크립트 실행 -> 테이블 & 데이터 준비 -> EmbeddedDataSource(extends DataSource ) 돌려줌

  • 테스트 클래스를 상속받은 서브클래스에서 테스트를 실행하면 수퍼클래스의 테스트들도 실행됨

  • TransactionManager 을 싱글톤 빈으로 등록해서 사용하는 이유
    -> Transaction Proxy들이 같은 TransactionManager을 공유해야 하기 때문

  • Java 소스코드가 실행되는 과정
    소스코드 -> 컴파일 -> .class -> JVM에 의해 메모리로 로딩돼 실행

  • 자바 코드의 일부를 리플렉션 API등을 이용해 어떻게 만들었는지 살펴보고 그에 따라 동작하는 기능이 점점 많이 사용됨

  • 애노테이션은 자바 코드가 실행되는데 직접 참여하지 못함.
    애노테이션은 프레임워크가 참조하는 메타정보로 사용됨.

  • 스프링 초창기때부터 XML이 프레임워크가 사용하는 관계 설정용 DI 메타정보로 적극 활용돼왔음.

  • 애노테이션을 참고하는 코드에서는 해당 애노테이션에 대한 다양한 부가 정보를 얻어낼 수 있음.

profile
아직 배우는 중입니다

0개의 댓글