면접 준비 - SPRING

jodbsgh·2022년 4월 11일
0

🔥"면접 준비"

목록 보기
5/10

SPRING

  • 객체를 관리할 수 있는 컨테이너 제공하는 프에임워크입니다.

자바의 오픈소스 애플리케이션 프레임워크 중 하나로 스프링의 기본철학은 특정 기술에 종속되지 않고 객체를 관리할 수 있는 프레임워크를 제공하는 것 입니다. 그래서 컨텡너로 자바 객체를 관리하면서 의존성 주입과 제어의 역전을 통해 결합도를 낮추게 됩니다.

DI

  • 의존성주입, 컨테이너가 의존관계를 자동으로 연결

DI는 Dependency Injection의 약자로, 의존성 주입을 의미합니다. 객체간의 의존관계를 미리 설정해두면 스프링 컨테이너가 의존관계를 자동으로 연결해줍니다. 이렇게 되면 직접 의존하는 객체를 생성하거나 검색해서 가져올 필요 없어서 결합도가 낮아지는 장점이 있습니다.

IOC

  • 제어권이 사용자에게 있지 않고, 프레임워크에 있다

IOC는 Inversion of Control의 약자로 제어의 역전을 의미합니다. 제어권이 사용자에게 있지 않고, 프레임워크에 있어서 필요에 따라서 사용자의 코드를 호출하게 됩니다.
스프링에서는 인스턴스의 생성부터 소멸까지 개발자가 아닌 컨테이너에서 대신 관리하게 됩니다.

ORM

  • Object Relational Mapping
  • 관계형 데이터베이스를 OOP언어로 변환해주는 기술

ORM은 Object Relational Mapping의 약자로 관계형 데이터베이스를 OOP언어로 변환해주는 기술입니다. 그래서 비즈니스 커드가 DB테이블에 바로 접근하게 도와줍니다.

JPA

  • ORM을 위해 자바에서 제공하는 API

JPA는 ORM을 위해서 자바에서 제공하는 API입니다. 자바 객체와 DB테이블을 매핑하는데요, 구현체로는 하이버네이트가 있습니다.

ORM, JAP, Hibernate 장단점

비즈니스 로직에 집중하고 객체중심의 개발을 할 수 있게 됩니다. 그리고 메소드를 호출하는 것만으로 쿼리를 수행해서 생산성이 향상되고, 유지보수 비용이 줄어듭니다. 그리고 특정 DB에 의존하지 않게 됩니다.

하지만, 단점으로는, 직접 SQL을 호출하는 것보다는 조금 느리고요, 그리고 복잡한 쿼리같은 것은 메소드로 처리가 힘들다는 단점이 있습니다.

profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글