Spring을 시작하며...

지노·2020년 4월 3일
0

Spring Framework

목록 보기
1/5
post-thumbnail

내가 이렇게 공부하면 나에게 도움이 될까?

Spring Boot를 이용하여 인터넷 강의를 듣고 다른 사람들의 코드를 복붙하고 예제를 수동적으로 따라가면서

"이렇게 공부를 해서 나한테 도움이 될까?"

라는 근본적인 질문을 하게 되었다.

작년에 아무것도 모르던 시절, 면접을 해주신 면접관님의 말이 떠올랐다.

"전에는 모든 프로젝트 설정들을 직접 해줘야했고 라이프사이클을 제대로 알지 못하면 프로젝트를 만들 수 없었는데 Spring Boot가 나온 이후로 편리함에 속아 기본적인 이해없이 프로젝트를 진행하는 경우가 많다"

내가 그 편리함에 속아 '수박 겉핥기'만 한다는 생각이 들었다.
현업에서 일하고 계신 분처럼 정말 깊게는 공부하지 못하더라도 내가 코드를 작성하면서 내부적으로 어떻게 작동할 것인가에 대한 이해는 한 상태로 코드를 작성하고 싶었다.

그래서 시작한 첫 번째 글, Spring이 무엇인지 간단한 개념을 잡고 시작하고 싶었다.
(모든 내용은 Spring 공식 문서의 내용을 참조)

Spring 개요

스프링 프레임워크는 엔터프라이즈급 애플리케이션을 만들기 위한 경량솔루션이다.

  • 모듈화
    스프링 프레임워크는 많은 기능을 제공하지만 필요한 기능만 가져다 사용할 수 있다.
  1. 상위에 어떤 웹 프레임워크의 IoC 컨테이너를 사용하면서, 하이버네이트 통합 코드나 JDBC 추상 계층만을 사용하는 것도 가능하다.
  2. 스프링 프레임워크는 RMI나 웹서비스로 로직에 원격 접근하는 선언적 트랜잭션 관리와 영속 데이터를 유지하는 다양한 옵션을 지원한다.
  • 모든 기능을 갖춘 MVC 프레임워크를 제공하며 당신의 소프트웨어에 투명하게 AOP를 통합할 수 있다.

  • 비침투적
    도메인 로직 코드가 일반적으로 프레임워크에 의존적이지 않다는 의미이다.
    데이터 접근 계층(DAO) 같은 통합 계층에서 데이터 접근 기술과 스프링 라이브러리에 대한 의존성이 존재한다.
    하지만 당신의 다른 코드들로부터 이러한 의존성을 쉽게 제거할 수 있다.

IoC 컨테이너
참조: https://js2prince.tistory.com/entry/Spring-IOC-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88-%EB%9E%80

RMI(Remote Method Invocation)란?

선언적 트랜잭션
https://snoopy81.tistory.com/335

profile
Spring Framework를 이용한 웹 개발과 AWS 서비스, Container를 사용한 CI/CD 인프라에 관심이 있습니다.

0개의 댓글