자바 스프링으로 백엔드 공부를 하다가 문득 스프링을 왜 사용하는 가에 대한 궁금증이 생겨서 글을 쓰게 되었다.
스프링 이란?
스프링은 엔터프라이즈용 JAVA 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다.
스프링 특징
우선, 자바 스프링의 특징을 알아보자.
아래 특징들 덕분에 자바 스프링을 활용했을 때 이점을 볼 수 있다.
1. POJO(Plain Old Java Object)기반의 구성
코드를 개발할때, 개발자가 특정한 라이브러리나 컨테이너 기술에 종속적이지 않음을 의미한다.
이는 Java코드를 이용해서 객체를 구성하는 방식 그대로 스프링에서 사용 가능하다는 것이다.
이를 통해 객체지향적 설계가 가능하다.
2. DI(Dependency Injection)을 통한 객체 관계 구성
스프링은 객체의 의존성을 주입을 통해 관리한다.
객체를 직접 생성하는 것이 아니라 외부에서 생성한 후 주입시켜주는 방식이다.
이러한 DI를 통해 모듈 간의 결합도가 낮아지고 유연성이 높아진다.
3. AOP
좋은 개발환경의 중요 원칙은 개발자가 비즈니스 로직에만 집중할 수 있게 하는 것이다.
그 중 하나는 반복되는 코드의 제거이다.
이때 AOP를 통해 횡단 관심사를 모듈로 분리하여 개발할 수 있다.
이를 통해 개발자는 핵심 비즈니스 로직에만 집중해서 코드를 개발할 수 있게 되고,
프로젝트마다의 다른 관심사를 적용할 때 코드의 수정을 최소화할 수 있으며,
유지보수가 수월한 코드가 될 수 있다.
참고
'Back-End' 카테고리의 다른 글
멀티 모듈은 뭘까? (0) | 2024.04.22 |
---|---|
HTTP 상태 코드에 대해서 (1) | 2024.04.12 |
[Spring Boot] 배포 방법 (JAR vs WAR) (0) | 2024.03.21 |
Gradle 의존성 옵션 종류 (0) | 2024.03.20 |
[Spring] 스프링 프레임워크의 MVC 동작원리 (1) | 2024.03.11 |