2023.02.09 TIL

SUADI·2023년 2월 10일
0

[1] 스프링의 특징

* 스프링은 프레임워크이다.

프레임워크 - 프로그램을 제작하기 쉽도록 어떠한 틀을 만들어놓고 그 안에서 프로그램을 만들 수 있도록 하는 툴.

* 스프링은 오픈소스이다.

* 스프링은 IoC 컨테이너를 가진다.

IoC(Inversion of Control, 제어의 역전) - 객체의 생명주기를 개발자가 아닌 외부에 위임하는 설계원칙. 프레임워크없이 개발을 할 때엔 객체의 생성, 메서드의 호출, 객체의 소멸 등 객체의 생명주기를 개발자가 직접 관리했지만 스프링부트 프레임워크를 사용하면 객체의 생명주기를 프레임워크에 위임할 수 있다.

* 스프링은 DI를 지원한다.

DI(Dependency Injection, 의존성 주입) - 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고, 런타임시에 관계를 동적으로 주입하여 의존성을 확보하고 결합도를 낮출 수 있게 해주는 것이다.

* 스프링은 수많은 필터를 가지고 있다.

필터는 주로 클라이언트의 요청애 대한 인증, 권한 체크를 하는데에 쓰이는 문지기같은 역할을 한다. (필터에 대해서는 포스팅을 따로 빼서 정리할 예정이다.)

* 스프링은 수많은 어노테이션을 가지고 있다.

어노테이션의 사전적 의미는 주석이지만 스프링 내에서의 어노테이션은 소스코드에 추가해서 사용할 수 있는 메타데이터의 일종이다.

0개의 댓글

관련 채용 정보