[spring] fastcampus spring framework 강의 (2)

hyobbang·2022년 6월 6일
0
post-thumbnail

스프링 설명

스프링 프레임워크란?

  • 자바가 언어라면, 스프링은 책을 쓰기 위한 틀
  • 코틀린, 그루비같은 다른 언어로도 사용할 수 있다.
  • 깃허브에서 스프링프레임워크 소스를 참고하며 공부해보는 것도 추천!
  • 15년이상 된 성숙된 기술. 다양한 기능이 존재하고, 이걸 적재적소에 쓰는 것이 중요해졌다.

스프링 부트란?

  • 사람들이 자주 쓰는 기능이 존재한다. 이걸 자동으로 설정해준 프레임워크!
  • 톰캣이 내장되어있음

스프링 핵심기술 프롤로그

DI와 IoC

  • 스프링의 근간, 내가 만든 클래스를 스프링이 직접 관리하여 어플리케이션을 동작하게 한다

AOP

  • 공통적인 코드를 프레임워크 레벨에서 지원해주는 방법

Validation, Data binding

  • 검증 그리고 외부에서 받은 데이터를 담아내는 방법

Resource

  • 스프링 내부에서 설정이 들어있는 파일들에 접근하는 동작 원리

SpEL

  • 짧은 표현식을 통해 필요한 데이터나 설정 값을 얻어올 수 있게 하는 특별한 형태의 표현식에 가까운 간편한 언어

Null-Safety

  • Null을 조금 더 잘 다루기 위한 방법

스프링의 디자인 철학

  • 모든 기능에서 다양한 가능성(다양한 모듈)을 사용 가능, 심지어 외부 모듈을 활용 가능
    • 너무 높은 자유도. 어떤 점에서는 스프링을 어렵게 하는 요소
  • 유연하게 계속 추가 개발을 하고 있는 프레임워크
  • 이전 버전과의 강력한 호환성
    • 너무 많은 레거시(옛날 기능) 때문에 코드의 복잡성이 높아지긴 함
  • API 디자인을 섬세하게 노력한다
    • 스프링 코드 자체가 하나의 좋은 참고 소스
  • 높은 코드 품질을 유지하려 함
    • 스프링 프로젝트 github은 아주 좋은 참고 소스이자 PR과 이슈 관리도 좋은 프로세스 참고용

→ 한마디로 높은 자유도를 주고 계속 발전하는 고품질의 다양성이 있는 프로젝트, 그런데 너무 자유로워서 때론 어렵다.

profile
매일 따끈따끈한 빵을 굽는 베이커리처럼 코딩하기

0개의 댓글