스프링 프레임워크 기초 이해

[스프링 프레임워크의 핵심 개념]

  1. 종속성 주입(DI):
    • 정의: 종속성 주입은 객체를 내부적으로 생성하는 대신 외부에서 종속성을 제공할 수 있도록 하는 디자인 패턴입니다. 이는 느슨하게 결합된 애플리케이션을 구축하는 Spring 접근 방식의 기본입니다.
    • Spring에서 작동하는 방식: Spring에서는 객체(빈이라고도 함)가 Spring 컨테이너에 의해 생성되고 관리됩니다. 필요할 때 컨테이너에 의해 자동으로 이러한 Bean에 종속성이 주입됩니다.
    • 이점: DI는 코드를 더욱 모듈화하고 테스트하기 쉽게 하며 변경 사항에 적응할 수 있게 해줍니다.
  2. 관점 지향 프로그래밍(AOP):
    • 정의: AOP는 교차 관심사를 분리하여 모듈성을 높이는 것을 목표로 하는 프로그래밍 패러다임입니다. 코드 자체를 수정하지 않고 기존 코드에 추가 동작을 추가하면 됩니다.
    • Spring의 애플리케이션: Spring AOP를 사용하면 로깅, 트랜잭션 관리 또는 보안과 같은 측면을 기본 애플리케이션 로직과 별도로 선언할 수 있습니다. 그런 다음 이러한 측면을 선언적으로 또는 프로그래밍 방식으로 애플리케이션 흐름에 통합할 수 있습니다.
    • 이점: AOP는 깔끔한 코드를 유지하는 데 도움이 되고 문제 분리를 촉진하여 코드 유지 관리성을 향상시킵니다.
  3. 스프링 모듈:
    • Spring Core Container: 프레임워크의 기반으로 IoC 컨테이너를 제공합니다.
    • Spring AOP 모듈: Spring의 메소드 가로채기를 포함한 측면 지향 프로그래밍에 대한 지원을 제공합니다.
    • Spring 데이터 액세스/통합: JDBC, Hibernate, JPA 등과 같은 데이터 액세스 기술을 단순화합니다.
    • Spring 웹 모듈: 웹 애플리케이션 및 RESTful 웹 서비스를 생성하기 위한 프레임워크입니다.
    • Spring MVC: 웹 애플리케이션 구축을 위한 모델-뷰-컨트롤러 프레임워크입니다.
    • Spring Boot: 독립 실행형 프로덕션 등급 Spring 기반 애플리케이션의 개발을 단순화합니다.
    • Spring Security: Java 애플리케이션을 위한 포괄적인 보안 서비스를 제공합니다.
    • Spring Cloud: 클라우드 네이티브 애플리케이션 개발을 위한 도구입니다.
  4. 봄콩과 용기:
    • 빈즈: Spring에서 빈은 애플리케이션의 백본을 형성하는 객체입니다. 이는 Spring IoC 컨테이너에 의해 관리됩니다.
    • Spring IoC 컨테이너: Bean 인스턴스화, 구성 및 조립을 담당합니다. 컨테이너는 종속성 주입을 사용하여 애플리케이션을 구성하는 구성 요소를 관리합니다.
  5. Spring의 이벤트 처리:
    • 개요: Spring은 강력한 이벤트 처리 메커니즘을 제공합니다. 애플리케이션 이벤트를 수신하고 응답하기 위해 Observer 디자인 패턴을 따릅니다.
    • 사용자 정의 이벤트: 개발자는 Spring 컨텍스트에서 일류 시민으로 취급되는 사용자 정의 이벤트를 생성하고 게시할 수 있습니다.
  6. SpEL(Spring 표현 언어):
    • 목적: 런타임 시 개체 그래프 쿼리 및 조작을 지원하는 강력한 표현 언어입니다.
    • 사용 사례: SpEL은 런타임 시 애플리케이션 구성을 쿼리하고 조작하고 조건부 확인 등에 사용됩니다.

참고: https://spring.io/

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다