[Spring]Spring Framework

김피자·2023년 1월 31일
0

Spring

목록 보기
1/30
post-thumbnail

Spring Framework

  • 자바 엔터프라이즈 개발을 편하게 해주는 경량급 오픈소스 애플리케이션 프레임워크
  • Lightweight Java Application Framework
    • 목표 : POJO(Plain Old Java Object)기반의 Enterprise Application 개발을 쉽고 편하게 할 수 있도록 함
    • Java Application을 개발하는데 필요한 하부구조를 포괄적으로 제공
    • Spring이 하부구조를 처리하기 때문에 개발자는 Application 개발에 집중 가능
  • 동적 웹 사이트를 개발하기 위한 여러 서비스 제공
  • 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자, 정부 표준 프레임워크의 기반 기술

POJO와 EJB

  • POJO (Plain Old Java Object)

    • 상속, 인터페이스가 필요없는 아주 단순하고 가벼운 객체
    • 원하는 Business Logic만 넣을 수 있도록 도움
  • EJB (Enterprise JavaBeans)

    • 기업 환경의 시스템을 구현하기 위한 서버 측 컴포넌트 모델
    • 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션으로 특정 환경에 종속적이고 무거움

Spring 주요 특징

  1. 의존 관계 주입 : DI(Dependency Injection)
  • 각각의 계층이나 서비스들 간 의존성이 존재할 경우 Spring이 바로 연결시켜줌
  • POJO 객체들 사이의 의존 관계를 Spring이 알아서 연관성을 맺어줌
  • ex) 다양한 DB사용이 가능
  1. 관점 중심 프로그래밍 : AOP(Aspect Orientated Programming)
  • Spring은 핵심적인 비즈니스 로직과 관련이 없으나 여러 곳에서는 공통적으로 쓰이는 기능들을 분리(공통 관심사를 분리)하여 개발하고 실행 시에 서로 조합할 수 있는 AOP를 지원
  • 이를 통해 코드를 단순하고 깔끔하게 작성할 수 있
  • 횡단 관심을 수행하는 코드(Logging, Security, Transation 등)는 aspect라는 특별한 객체로 모듈화하고 weaving이라는 작업을 통해 모듈화한 코드를 핵심 기능에 끼워넣을 수 있음

Spring 구성요소

  • Core Container 중 Bean Container은 POJO객체를 관리함
  • Spring에서 제공하는 다양한 기능 중 필요한 것을 선택적으로 사용

출처
https://gmlwjd9405.github.io/2018/10/26/spring-framework.html

profile
제로부터시작하는코딩생활

0개의 댓글