개발강의정리/Spring

[스프링 프레임워크 핵심 기술] 1. 강좌 및 스프링 소개

nineDeveloper 2019. 10. 6.
728x90

1. 소개

포스팅 참조 정보

GitHub

공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다

해당 포스팅에 대한 내용의 GitHub 주소

실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다

https://github.com/freespringlecture/spring-core-tech/tree/chap01-introduce

 

freespringlecture/spring-core-tech

백기선님의 스프링 프레임워크 핵심 기술 강의 내용 정리. Contribute to freespringlecture/spring-core-tech development by creating an account on GitHub.

github.com

해당 포스팅 참고 인프런 강의

https://www.inflearn.com/course/spring-framework_core/dashboard

 

스프링 프레임워크 핵심 기술 - 인프런

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

www.inflearn.com

SpringBoot Version

  • 실습 Version: 2.1.2.RELEASE

강좌 및 스프링 소개

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

스프링 프레임워크(이하 스프링) 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

강좌및스프링소개

 

Spring Framework Documentation

Overview history, design philosophy, feedback, getting started. Core IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP. Testing Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient. Data Access Tran

docs.spring.io

스프링이란?

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

 

Spring Framework Overview

Spring makes it easy to create Java enterprise applications. It provides everything you need to embrace the Java language in an enterprise environment, with support for Groovy and Kotlin as alternative languages on the JVM, and with the flexibility to crea

docs.spring.io

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

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

스프링의 역사

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

디자인 철학

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

댓글

💲 추천 글