본문 바로가기
▶ Back-End/개념 요약

Spring 이란?

by 오늘도 코딩 2023. 2. 1.
728x90
반응형

Spring의 기본 개념을 간단히 소개

*자세한 설명 생략

 

 

▷ Spring?

 

    - JAVA 웹 프레임워크로 JAVA를 이용한 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임워크

 

    - Srping 프레임워크는 20여 개의 모듈로 구성

 

Spring Framework 모듈 관련 아래 참고

 

 

Spring 주요 특징

 

    ▶ IOC(Inversion Of Control), 제어반전

 

        객체생성, 생명주기, 의존성 관리를 직접 제어하지 않고 외부에서 관리

 

    ▶ IOC Container 분류

 

        - DI(Dependency Injection), 의존성 주입

 

            개발자가 객체 내부에서 직접 호출(new)하지 않고 외부(Spring Container)에서 객체를 생성해서 넣어주는 방식

 

        - DL(Dependency Lookup), 의존성 검색

 

            Bean에 접근하기 위해 Spring Container가 제공하는 API를 이용하여 Bean을 Lookup

 

    ▶ Spring Container( = IOC Container )

 

        Spring Framwork에서 IOC 기능을 해주는 Container

 

        *Bean : Spring Container에서 관리하는 객체(Singleton)
        *BeanFactory : Spring Container 최상위 인터페이스
        *ApplicationContext : BeanFactory 기능을 모두 상속

 

    ▶ AOP(Aspect Oriented Programming), 관점 지향 프로그래밍

        *설명 생략

 

    ▶ OOP(Object Oriented Programming), 객체 지향 프로그래밍

 

        - 추상화
        - 캡슐화
        - 상속
        - 다형성

 

 

▷ Spring MVC 흐름

 

Spring MVC 패턴 관련 아래 참고 ( 출저 : https://chanhuiseok.github.io/posts/spring-3/ )

 

 

vs Spring Boot

    *Spring 프레임워크의 설정을 자동화하여 편하게 사용하도록 돕는 애플리케이션 프레임워크

 

    - Spring Boot는 내장 톰캣을 사용해 톰캣을 따로 설치하거나 버전 관리할 필요 없음


    - spring-boot-starter를 통한 dependency 자동화

        *Spring 프레임워크는 각각의 dependency의 호환되는 버전을 맞추어 사용

        (하나의 라이브러리 버전 업그레이드 시, 다른 라이브러리에 영향을 주어 의존성 관리가 어려움)


    - Spring Boot는 .xml 설정 불필요

 

 

▷ 참고

 

[Spring] Spring Architecture

💡 Spring Modules Srping 프레임워크는 20여개의 모듈로 구성되어 있다. 해당 모듈들은 아래 'Overview of Spring Framework' 다이어그램에서 보는 것과 같이 Data Access/Integration, Web, AOP, Core

velog.io

 

[Spring] Spring의 MVC 패턴과 MVC1과 MVC2 비교

컴퓨터/IT/알고리즘 정리 블로그

chanhuiseok.github.io

 

 

728x90
728x90

'▶ Back-End > 개념 요약' 카테고리의 다른 글

메시지 큐(Message Queue)란?  (0) 2023.02.06
서블릿(Servlet) 이란?  (0) 2023.02.03
Sinks.many() 란?  (0) 2022.11.29
Spring WebFlux Non-Blocking 방법  (0) 2022.11.29
스레드 풀(Thread Pool) 이란?  (0) 2022.11.22

댓글