[Spring] Spring-intro

HyunDong Lee·2022년 8월 15일
0

Spring

목록 보기
2/3
post-thumbnail

Spring

스프링 생태계에는 ...
필수

  • 스프링 프레임워크, 스프링 부트

선택

  • 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 배치, 스프링 클라우드, 스프링 Rest Docs

핵심 기술

  • 스프링 DI 컨테이너, AOP, 이벤트, 기타
  • 웹 기술 :스프링 MVC, 스프링 webFlux
  • 데이터 접근 기술 : 트랜잭션, JDBC, ORM, XML
  • 기술 통합 :캐시, 이메일, 원격접근, 스케줄링
  • 테스트 :스프링 기반 테스트 지원
  • 언어 :코틀린, 그루비

스프링 부트

  • 스프링을 편리하게 사용할 수 있도록 지원, 최근 기본으로 사용
  • 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
  • tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하도 않아도 됨
  • 손쉬운 빌드구성을 위한 starter 종속성 제공
  • 메트릭, 상태확인, 외부 구성 같은 프로덕션 준비 기능 제공
  • 관례에 의한 간결한 설정
    - 어려웠던 설정을 손쉽게 해줌
  • 스프링과 서드파티 라이브러리 자동 구성
    - 예전에는 여러개 라이브러리를 땡겨와서 사용했었다.
    - 과거에 호한이 되지 않는 경우도 있었다. 부트는 버전의 궁합을 보고 알아서 설치해준다. 버전에 대한 고민을 하지 않아도 되는 것

-> 스프링 부트는 중간에서 편리하게 사용할 수 있게 지원해주는 것임. 스프링 프레임워크를 기본으로 함. 부트만 이용하여 프로젝트를 하는 것이 아님.

스프링 단어?

  • 스프링이라는 단어는 문맥에 따라 다름
    - 스프링 DI 컨테이너 기술
    - 스프링 프레임워크
    - 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계

핵심 컨셉

로드 존슨의 3만줄의 코드에서 시작된다. 이 기술을 만든 이유에 대해 고민해봐야한다. 왜 개발자들이 편리한 오픈소스에 열광하는가?

핵심 컨셉과 이 기술을 왜 만들었는지 알아야 한다
API 사용법 뿐만 아니라 어떤 컨셉으로 만들었는지 공부하도록!

  • 웹 애플리케이션 만들고 DB 접근?
  • 전자 정부?

모두 아니고

  • 스프링은 자바 언어 기반의 프레임워크
  • 자바 언어의 가장 큰 특징 - 객체 지향 언어
  • 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크
  • 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크

-> 순수한 객체 지향에 근간을 이룰 수 있다

좋은 객체지향이란 무엇인가?

참고

0개의 댓글