프레임워크란?
개발자들이 개발을 하기 위한 업무를 추상적으로 정의해놓은 틀이라고 할 수 있다.
(클래스, 인터페이스 등…)
예를 들어 차로 서울에서 거제도까지 가는 게 목표라고 쳤을 때 , 네비게이션이 프레임워크 역할을 한다고 생각하면 된다.
네비게이션이 없으면 각 고속도로의 위치를 내가 직접 알아야 하는 반면, 네비게이션이 있으면 그냥 보고 따라가면 된다.
때문에 작업에 효율성에 많은 차이가 있다.
자바를 이용한 프레임워크는 대표적으로 2가지가 있다.
- 스프링 프레임워크 = 웹
- 모바일 프레임워크 = 안드로이드
프레임워크 vs 라이브러리
- 프레임워크는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것
- ex) 자동차의 프레임, 즉 기본적으로 구성하고 있는 뼈대
- 라이브러리는 자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합
- ex) 자동차의 기능을 하는 부품(바퀴,헤드라이트...)
스프링 프레임워크란?
스프링 프레임워크란 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크다.
주요 기능으로 DI,AOP ,MVC,JDBC 등을 제공한다.
스프링의 모든 기능은 모듈화되어있고 내가 필요한 기능만 그때그때 코드로 붙여서 사용할 수 있다.
스프링 하나하나의 틀은 모듈이고, 모듈은 코드로 구성되어있는 라이브러리다.
스프링 프레임워크에서 제공하고 있는 모듈 중 5가지를 알아보자.
스프링 모듈 | 기능 |
Spring Core | 스프링의 핵심인 DI(Dependency Injection)와 IoC(Inversion of Control)를 제공 |
Spring Aop | AOP구현 기능 제공 |
Spring Jdbc | 데이터베이스를 쉽게(적은 양의 코드) 다룰 수 있는 기능 제공 |
Spring Tx | 스프링에서 제공하는 트랜잭션 관련 기능 제공 |
Spring MVC framework | 스프링에서 제공하는 컨트롤러(Controller)와 뷰(View)를 이용한 스프링MVC 구현 기능 제공 |
스프링 컨테이너(IoC)
스프링 객체가 담겨있는 큰 그릇을 스프링 컨테이너라고 생각하면 된다.
스프링도 자바기반이기때문에 컨테이너를 통해 객체를만드는데 이것을 빈(Bean)이라고 부른다.
아직 이해가 잘 안간다면, 아래 글이 도움이 될 것이다.
[참고] 인프런 - 백기선 님의 자바 스프링 프레임워크 - 신입 프로그래머를 위한 강좌를 보고 공부한 내용을 바탕으로 작성했습니다.
[참고] https://gmlwjd9405.github.io/2018/10/26/spring-framework.html
'💻 Dev > Spring' 카테고리의 다른 글
스프링MVC는 왜 스레드를 최대 200개까지 사용할까? (0) | 2024.12.28 |
---|---|
[Spring Boot] gradle 프로젝트 불러오기 (0) | 2020.09.18 |