만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍/backend&devOps

[Spring] Spring이란 무엇인가?

D36choi 2020. 3. 4. 15:08
728x90

springJAVA enterprise급 framework 이다.

이 정의는 'Framework' 란게 뭐지? 라는 물음으로 이어진다.

 

누군가 스프링이 뭐냐고 물어볼때 처음엔 나도 잘 대답을 못 했다.

 

framework란?

반제품.

반제품을 통해 완제품을 만든다라는 비유가 가능하다.

더 용이한 개발을 위한 '틀', 혹은 '도구상자' 라고 개인적으로는 비유하고 싶다.

특징

원하는 부분만 쓸 수 있도록 모듈화 잘되어있음.

IoC 컨테이너임. MVC framework를 제공. (Model View Controller)

모듈들의 예시

도구 상자란 비유가 걸맞는 모습의 다양한 모듈들

도구상자라 비유하고싶다 한 이유가 여기 있다. 스프링은 단순히 한 두개의 모듈만을 제공하는게 아니라 

웹,데이터 처리, 테스트 등 다양한 용도의 다양한 모듈들을 제공하고 있기 때문.

 

내가 필요한 모듈들을 쏙쏙 뽑아 그 모듈들만 공부하며 이용할 수 있다.

 

공부해야하는 사전 개념들

 

IoC (Inversion of Control)

https://jongmin92.github.io/2018/02/11/Spring/spring-ioc-di/

 

Spring - IoC & DI - 92Hz

IoC란? IoC 컨테이너 개념을 이해하기 위하여 이와 같은 컨테이너가 왜 등장하게 되었는지를 먼저 이해하는 것이 중요합니다. 애플리케이션 코드를 작성할 때, 특정 기능이 필요하면 라이브러리 사용하곤 합니다. 이때는 프로그램의 흐름을 제어하는 주체가 애플리케이션 코드입니다. 하지만 프레임워크(Framework) 기반의 개발에서는 프레임워크 자신이 흐름을 제어하는 주체가 되어, 필요 할 때마다 애플리케이션 코드를 호출하여 사용합니다. 프레임워크에서 이 제어

jongmin92.github.io

DI (Dependency Injection)

https://jhleed.tistory.com/61

 

Spring 의 DI란?

Dependency Injection(의존성 주입) 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념이다. 스프링에서 이런 개념을 사용하는데에는 이유가 있을 것이다. 의존성 주입이 왜 필요할까? 이걸 사용하게 되면 무..

jhleed.tistory.com

AOP (Aspect Oriented Programming)

https://engkimbs.tistory.com/746

 

[Spring] 스프링 AOP (Spring AOP) 총정리 : 개념, 프록시 기반 AOP, @AOP

| 스프링 AOP ( Aspect Oriented Programming ) AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으..

engkimbs.tistory.com