01. 기술면접 - 스프링 - 스프링 프레임워크
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다
스프링 프레임워크란
- 자바 엔터프라이즈 개발을 편하게 해주는 경량급 오픈소스 애플리케이션 프레임워크
- Lightweight Java Application Framework
- 목표: POJO 기반의 Enterprise Application 개발을 쉽고 편하게 할 수 있도록 한다
- Java Application 을 개발하는 데 필요한 하부구조(Infrastructure)를 포괄적으로 제공한다
- Spring 이 하부구조를 처리하기 때문에 개발자는 Application 개발에 집중 할 수 있다
- 간단히 스프링 (Spring) 이라고도 불린다
- 동적인 웹 사이트를 개발하기 위한 여러가지 서비스를 제공한다
프레임워크란?
소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔
일련의 협업화된 형태로 클래스들을 제공화한 틀 또는 기반구조 또는 뼈대를 뜻한다
Application 개발 시, 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 구조를
제공해준다
-> 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합
라이브러리란?
특정 기능에 대한 도구 or 함수들을 모은 집합
즉, 프로그래머가 개발하는데 필요한 것들을 모아둔 것입니다.
-> 단순 활용이 가능한 도구들의 집합
프레임워크와 라이브러리 모두 개발자에게 필요한 것을 모아둔 것이라고 착각 할 수 있지만 큰 차이가 존재합니다
그것은 IOC (Inversion Of Control) 제어의 역전이다
Flow(흐름)에 대한 제어 권한이 어디에 있느냐의 차이인데, 프레임워크는 전체적인 흐름을 자체적으로 가지고 있으며,
프로그래머가 그 안에 필요한 코드를 작성하는 반면에 라이브러리는 사용자 흐름에 대해 제어를 하며, 필요한 상황에
가져다 쓰는 것이다 (프레임워크는 어느정도 생명주기가 다 정해져있다 - 실행 전, 실행 후, 종료 후 처리를 하고있음)
대부분의 프레임워크에는 제어의 역전(IOC)가 적용되고 있다는 점이다
스프링에서의 대표적인 IOC 기술은 @Autowired 즉, 의존성 주입 (DI)다
참고
'∞. 기술 면접 > 9. 스프링' 카테고리의 다른 글
06. 기술면접 - 스프링 - MVC 패턴 (0) | 2021.10.25 |
---|---|
04. 기술면접 - 스프링 - 컨테이너 (Container) (0) | 2021.10.25 |
03. 기술면접 - 스프링 - 빈(Bean) (0) | 2021.10.25 |
02. 기술면접 - 스프링 - 스프링 MVC 와 스프링 Boot (0) | 2021.10.25 |
댓글
이 글 공유하기
다른 글
-
06. 기술면접 - 스프링 - MVC 패턴
06. 기술면접 - 스프링 - MVC 패턴
2021.10.25 -
04. 기술면접 - 스프링 - 컨테이너 (Container)
04. 기술면접 - 스프링 - 컨테이너 (Container)
2021.10.25 -
03. 기술면접 - 스프링 - 빈(Bean)
03. 기술면접 - 스프링 - 빈(Bean)
2021.10.25 -
02. 기술면접 - 스프링 - 스프링 MVC 와 스프링 Boot
02. 기술면접 - 스프링 - 스프링 MVC 와 스프링 Boot
2021.10.25