[Spring] Spring과 Spring Boot

상트리버·2022년 11월 29일
0

Spring 이론

목록 보기
4/23

Spring FrameWork란?

"Spring Boot는 단독 실행되는, 상용화 가능한 수준의 스프링 기반 애플리케이션을 쉽게 만들어 낼 수 있습니다. 최소한의 설정으로 스프링 플랫폼과 서드파티 라이브러리들을 사용할 수 있도록 하고 있습니다."
특징으로는 아래와 같다.
IoC(Invertion of Control: 제어 역행)
Di(Dependency Injection: 의존성 주입)
AOP(Aspect-Oriented Programming: 관점지향 프로그래밍)

중복 코드 제거
다른 프레임워크와의 통합

특징

DI(Dependency Injection)

DI란 개발자가 Spring 프레임워크에 의존성을 주입하면서 객체 간 결합을 느슨하게 하는 것이다. 객체 간 결합이 느슨하면 코드의 재사용성이 증가하고 단위 테스트가 용이해진다.

IoC(Invesion of Control)

IoC는 컨트롤의 제어권이 개발자에게 있는 것이 아닌 프레임워크가 대신해서 해 주는것을 말한다. Servlet나 Bean 같은 코드를 개발자가 직접 작성하지 않고, 프레임 워크가 대신 수행한다.
제어의 역전은 자바 코드를 작성할때 객체의 생성, 의존관계 설정 등을 개발자가 해줘야 했지만, 이제는 프레임 워크가 대신 해주는다는 의미이다

AOP(Aspect Oriented Programming)

AOP는 핵심 기능을 제외한 부수적인 기능을 프레임워크가 제공하는 특징이다. 예를 들어 Spring프로젝트에 securtiy를 적용하거나, logging 등을 추가하고 싶을때 기존 비즈니스 로직을 건들지 않고 AOP로 추가 할 수 있다.


Spring Boot란?

스프링 부트는 스프링 프레임워크를 사용하기 위한 설정의 많은 부분을 자동화하여 사용자가 정말 편하게 스프링을 활용할 수 있도록 돕는다.


차이점

  1. 스프링 부트는 임베드 톰캣(Embed Tomcat) 사용으로 톰캣을 따로 설치하거나 버전 관리할 필요 없음

  2. 스프링 부트 starter를 통한 dependency 자동화
  • 스프링 프레임워크는 각각의 dependency의 호환되는 버전을 일일이 맞추어 사용
  • 하나의 dependency 버전 업그레이드 시, 다른 dependency 영향 (버전 관리의 어려움)
  • 스프링 부트는 starter를 통해 dependency 관리

  1. 스프링 부트는 XML 설정 불필요

  2. 스프링 부트는 jar file을 이용해 자바 옵션만으로 손쉽게 배포 가능

결론

아직 용어들이 정확히 어떤 뜻을 가지는지 잘 모르지만
Spring boot는 spring 자체의 확장버전느낌으로, spring framework를 좀더 간편하게 하기 위해 사용하는 느

0개의 댓글