Spring 기초 정리 - Spring

Zyoon·2025년 5월 3일

Spring 기초정리

목록 보기
1/18
post-thumbnail

💡Spring Boot 에 대한 이해와 정리


Spring 프레임워크


📘 자바 플랫폼을 위한 오픈 소스 어플리케이션 프레임워크

  1. Spring 프레임워크란?
  • 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크로서 엔터프라이즈급 어플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션이다.
  • 즉, 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로 부터 행해지는 매우 큰 규모의 환경으로부터의 개발을 용이하기 위해 개발되었다.

  1. Spring 프레임워크의 특징
  • DI ( Dependency Injection ) : 의존성 주입
    • 설정 파일이나 어노테이션을 통해 객체 간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없다.
  • IOC ( Inversion Of Control ) : 제어의 역전
    • 컨트롤의 제어권이 개발자가 아니라 프레임워크이 있습니다. 객체의 생성부터 모든 생명 주기의 관리까지 프레임워크가 주도한다.
  • AOP ( Aspect Oriented Programming ) : 관점 지향 프로그래밍
    • 트랜잭션, 로깅 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능을 분리해 관리할 수 있다.
  • POJO (Plain Old Java Object) : 순수 자바 객체
    • 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트이다.
  • PSA ( Portable Service Abstraction ) : 추상화
    • POJO 프로그래밍을 지원하기 위해 다양하게 구현되어있는 인터페이스를 같은 방식으로 사용하도록 중간에 인터페이스 어댑터 역할을 해주는 레이어를 추가하도록 설계되었다.

  1. AOP 와 OOP 의 비교 설명
  • AOP는 관점지향 프로그래밍으로 애플리케이션의 핵심적인 기능과 부가적인 기능을 분리해 Aspect라는 모듈로 만들어 설계하고 개발하는 방법이다.
  • OOP는 객체지향 프로그래밍을 의미합니다.
  • 공통적 기능을 모든 모듈에 적용하기 위한 방법으로 상속을 이용하는데 Java에서는 다중 상속이 불가능
  • 기능 구현 부분에서 핵심 코드와 공통 코드가 섞여있어서 보기에도 불편하고 효율성이 떨어지기에 AOP가 등장했다.

Spring Boot


📘 Spring 프레임워크를 기반으로 애플리케이션을 개발할 수 있도록 도와주는 도구

  1. Spring Boot 가 등장한 이유
  • 스프링 프레임워크는 초기 설정과 구성 파일이 너무 복잡하고 방대했다.
  • 즉, 여러가지 의존성 관리와 서버 설정을 위해 쉽게 개발하고 배포할 수 있는 방법이 필요했다

  1. Spring Boot 의 장점
  • 자주 사용되는 라이브러리들의 버전 관리 자동화
    • 빌드 도구에 버전을 명시하지 않아도 적합한 라이브러리 버전을 찾아서 가져와 줌
  • AutoConfig로 복잡한 설정 자동화
    • 공통적인 부분들을 자동으로 구성해준다.
    • 그래서 별도의 설정 없이 서버를 바로 띄울 수 있다.
    • 자주 사용되는 외부 라이브러리들 역시 저동 설정을 제공한다.
  • 내장 웹서버 제공
    • 내장 웹서버(톰캣, 리액터 네티)를 가지고 있어서 별도의 작업 없이 빠르게 서버를 실행할 수 있게 해준다.
  • 실행 가능한 JAR로 개발 가능
    • 순수 자바 애플리케이션 프로그램을 실행하는 것처럼 jar로 실행 가능하도록 하였다.
profile
기어 올라가는 백엔드 개발

0개의 댓글