02장 스프링 부트 3 시작하기

올찬·2023년 9월 24일
0
post-thumbnail

💡 이 글은 골든래빗 《스프링 부트 3 백엔드 개발자 되기 - 자바 편》의 02장 써머리입니다.

핵심 키워드

  • IoC(Inversion of Control): 제어의 역전, 객체를 사용하는 방법. 필요한 객체를 내부에서 만들지 않고 외부(스프링 컨테이너)에서 관리하는 객체를 가져와 사용

    • 스프링 컨테이너: 빈을 생성하고 관리
    • 빈(Bean): 스프링 컨테이너가 관리하는 객체, 클래스 이름 위에 @Component 에너테이션을 붙여 지정 가능
  • DI(Dependency Injection): 의존성 주입, IoC를 구현하는 방법. 스프링 컨테이너와 @Autowired, @Resource와 같은 에너테이션으로 필요한 객체를 할당 받음

  • AOP(Aspect Oriented Programming): 관점 지향 프로그래밍, 핵심 관점(한 역할에만 사용되는 로직), 부가 관점(여러 역할에 사용되는 로직)으로 나누어 프로그램을 모듈화하는 프로그래밍 방법

    • 예) 게시글을 등록하는 역할, 삭제하는 역할을 하는 로직은 서로 독립적이지만, 그 작업에 필요한 로깅, DB연결 로직은 게시글 등록, 삭제 역할에 공통적으로 사용됨
  • PSA(Portable Service Abstraction): 이식 가능한 서비스 추상화(or 일관성 있는 서비스 추상화⁽¹⁾), 스프링을 통해 다양한 기술을 이식/교체하여 사용할 수 있도록 지원하는 인터페이스, 어댑터

    • JDBC(Java Database Connectivity): MySQL이든 MS-SQL이든 Connection, Statement, ResultSet을 이용해 공통된 방식으로 DB 데이터를 다룰 수 있음⁽²⁾
    • OXM(Object XML Mapping): Caster, JAXB, XmlBeans, 등 다양한 기술이 제공하는 API가 있지만 스프링은 이 제각각인 API를 위한 어댑터를 제공하여 어떤 OXM 기술을 사용하든 일관된 방식으로 코드를 작성할 수 있게 함⁽³⁾

    1), 2), 3): 김종민, 스프링 입문을 위한 자바 객체 지향의 원리와 이해, (위키북스, 2015), (P.233, P.316)

profile
묘공단 스터디 블로그

0개의 댓글