Giter Site home page Giter Site logo

spring-core-tech's Introduction

스프링 프레임워크 핵심 기술

스프링 프레임워크(이하 스프링) 5.1 버전이 출시 되었습니다. 버전이 올라갈 수록 스프링은 다양한 프로그래밍 기법과 기능을 제공하지만 스프링의 핵심 기술은 크게 변하지 않았습니다

즉, IoC 컨테이너, AOP 그리고 몇몇 핵심 API는 스프링을 탄탄하게 지탱하는 디딤돌과 같습니다 따라서 스프링 핵심 기술을 이해한다면, 스프링이 제공하는 JDBC, 테스트, MVC 관련 기능 뿐 아니라, 스프링 부트와 스프링 데이터 JPA와 같은 여러 다른 스프링 프로젝트도 빠르고 정확히 이해할 수 있습니다

구체적으로 이번 강좌에서는 ​스프링 IoC​(Inversion of Control) 컨테이너와 빈 그리고 ​스프링 AOP​(Aspect Oriented Programming)에 대해 자세히 학습합니다 또한 스프링이 제공하는 여러 기능의 기반이 되는 Resource, Validation, 데이터 바인딩과 같은 스프링의 여러 ​추상 API​와 Null 관련 유틸리티도 학습합니다

이번 강좌는 IoC, AOP, PSA에 대해 들어는 봤지만, 실제 스프링으로 코딩을 해본적이 없는 분들 또는 핵심 기술에 대한 이해 없이 MVC로 웹 애플리케이션 개발만 해온 개발자 또는 학생을 대상으로 합니다 따라서 소개와 이해를 중심으로 설명하기 때문에 매우 깊이있게 다루진 않습니다 심화 학습을 하고 싶으신 분들께는 이번 강좌를 추천하지 않습니다

이번 강좌는 스프링 부트를 사용하며 스프링 핵심 기술을 학습합니다 따라서 스프링 부트 기반의 프로젝트를 사용하고 있는 개발자 또는 학생에게 유용한 스프링 강좌입니다

스프링 부트가 제공하는 여러 기능이 스프링의 핵심 기술과 어떻게 관련이 있는지 이해할 수 있습니다

학습 목표

  • 스프링 프레임워크의 핵심 기술 IoC, AOP, PSA를 이해합니다
  • 스프링 프레임워크 IoC 컨테이너의 다양한 기능을 사용할 수 있습니다
  • 다양한 방법으로 빈을 정의하고 의존 관계를 주입할 수 있습니다
  • 스프링 AOP를 사용하여 Aspect를 모듈화 할 수 있습니다
  • 그밖에다양한스프링핵심기술을이해하고또활용할수있습니다

학습 목차

  • IoC 컨테이너와 빈
  • 리소스
  • Validation
  • 데이터 바인딩
  • SpEL
  • 스프링 AOP
  • Null-Safety

강좌및스프링소개

스프링이란?

https://docs.spring.io/spring/docs/current/spring-framework-reference/overview.html#overview

소규모 애플리케이션 또는 기업용 애플리케이션을 자바로 개발하는데 있어 유용하고 편리한 기능을 제공하는 프레임워크

  • 스프링 프레임워크 그 자체
  • 스프링 프레임워크 포함 모든 스프링 프로젝트 (스프링 부트, 스프링 데이터, 스프링시큐리티...)
  • 이 강좌에서 스프링은 “스프링 프레임워크"

스프링의 역사

  • 2003년 등장 (개발은 이미 그 이전부터 진행됐고)
    • 등장시 Java EE 표준과 싸우는 것처럼 보였지만 실제론 JEE 스팩 구현 모음체(+알파)
    • Servlet, WebSocket, Bean Validation, JPA, Dependency Injection, ...
  • 최근까지 주로 서블릿 기반 애플리케이션을 만들 때 사용해 옴
  • 스프링 5부터는 WebFlux 지원으로 서블릿 기반이 아닌 서버 애플리케이션도 개발할 수 있게 됨

디자인 철학

  • 모든 선택은 개발자의 몫 (예, 스프링이 특정 영속화 기술을 강요하지 않는다)
  • 다양한 관점을 지향한다 (유연성)
  • 하위 호환성을 지킨다 (노력)
  • API를 신중하게 설계 한다 (공들인다)
  • 높은 수준의 코드를 지향한다 (자랑)

spring-core-tech's People

Contributors

freelife1191 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.