Spring Framework - 1

DONI·2022년 1월 5일
0

Spring Framework

목록 보기
1/3
post-thumbnail

🏹 프레임워크 (Framework)

프로그램을 쉽게 개발할 수 있도록 도와주는 틀을 제공하는 소프트웨어 환경
정해진 규칙에 맞게 수동적으로 필요한 코드를 구현하여 사용한다.
  예) Spring, Node.js, Django, Ruby on Rails 등

🏹 라이브러리 (Library)

프로그램을 쉽게 개발할 수 있도록 필요한 기능들을 모아놓은 도구들의 집합
각 함수들은 독립성을 가지며, 사용자가 능동적으로 필요한 함수만 호출하여 사용한다.
  예) jQuery, Apache 등

🏹 API (Application Programming Interface)

운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스


🏹 Spring Framework

  • 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로
    동적 웹 사이트 개발을 위한 여러 가지 서비스를 제공

  • 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는
    전자정부 표준 프레임워크(Spring MVC Project 기반 프레임워크)
    기반 기술로서 사용


🏹 Spring Framework의 특징

  • IOC (Inversion of Control) : 제어 반전

    객체 생성(new), 생명주기 관리(GC) 등의 모든 제어 권한
    개발자가 아닌 프레임워크(Container)가 가짐
    장점 : 효율적인 메모리 관리, 코드 길이 감소

  • DI (Dependency Injection) : 의존성 주입

    개발자가 직접 의존 객체를 생성하는 것이 아닌
    설정 파일 또는 어노테이션을 통해 객체 간의 의존 관계를 설정하여
    외부에서 객체 생성 후 주입 받아 사용
    장점 : 모듈 간의 결합도 감소, 유연성 증가

  • POJO 기반 프레임워크 (Plain Old Java Object)

    특정 기술이나 라이브러리의 내용을 상속 받지 않고
    getter, setter와 같은 기본적인 기능만을 가진 순수한 자바 객체
    장점 : 객체지향적 설계, 코드 길이 감소, 유지보수성 증가

  • Spring AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍

    주요 핵심 기능에서 트랜잭션, 로깅, 보안 등
    여러 모듈, 여러 계층에서 공통에서 필요로 하는 부가적인 기능을 분리하여
    관점을 기준으로 모듈화하여 관리

  • Spring JDBC

    MyBatis, Hibernate 등의 데이터베이스를 처리하는
    영속성 프레임워크와 연결할 수 있는 인터페이스 제공

  • Spring MVC

    MVC 디자인 패턴을 통해 웹 어플리케이션의
    Model, View, Controller 사이의 의존 관계를 DI 컨테이너에서 관리하여
    개발자가 아닌 서버가 객체를 관리하는 웹 애플리케이션을 구축

  • PSA (Portable Service Abstraction)

    다른 여러 모듈을 사용함에 있어 별도의 추상화 레이어를 제공하여
    개발자가 모듈의 의존 없이 프로그램에 집중할 수 있게 됨

profile
틀린 내용이 있다면 댓글 또는 이메일로 알려주세요 ❤ꔛ❜

0개의 댓글