번외. 스프링프레임워크

개요

스프링은 OOP 기반위에 굳건히 서있으며, 이전 기술들의 어깨를 딛고 발전함

스프링과 객체지향

  • 객체지향을 모르고 스프링을 안다는 것은 어불성실임
  • 객체 지향의 원리를 깊게 이해하고 적용해야 제대로 활용할 수 있다.

개념과 제품

스프링은 제품 으로 분류되며, 개념 이라는 기반위에 분류됩니다.

개념제품
OOPC++ ,Java ..
SOA?
CBD?
?스프링

스프링은 어떤 개념위에서 동작하는 제품일까요?

자바와의 연계

  • 자바는 OOP를 구현한 제품중에 하나이다
  • 스프링은 자바를 기반으로 한다
  • 자바의 이해 즉, OOP에 대한 이해는 스프링을 이해하는데 도움이 된다.

스프링 프레임워크의 복잡성

  1. 스프링 개념 이해의 어려움

    스프링 프레임워크는 방대하고 복잡한 구조를 가지고 있음.

    OOP 프레임워크 with IoC, DI, AOP, PSA, WEB, ORM, OXM, Security, Test, iBatis, Hibernate, JPA, JMS, Web Service, Schedule, JNDI, Email, JMX, Lime, Groovy, BeanShell, RMI, Struts, Velocity, PDF, Excel, RSS, on POJO, SOLID and OOP Design Patterns

    너무 많아서 토할거같다

    이 중에서 필요한 내용만 선택하여 학습하면 됨

스프링의 핵심 요소

  1. 스프링 삼각형
    1. Ioc/DI (Inversion of Control / Dependency Injection )
      • 객체의 생명주기와 의존성을 외부에서 제어하고 주입하는 원리
    1. AOP ( Aspect - Oriented Programing )
      • 관심사의 분리를 통해 코드의 재사용성을 높이는 프로그래밍 패러다임
    1. PSA ( Portable Service Abstraction )
      • 서비스 추상화를 통해 기술과 환경의 종속성을 줄이는 방식

    근원적인 스프링의 3 요소입니다. POJO ( Plain Old Java Object ) 에 진동을 주어 거대한 프레임 워크를 완성함

스프링이 왜 어려운가

  1. OOP의 오해와 부족한 이해
  1. 스프링의 일관성에 대한 이해 스프링 FW 는 방대하지만, 일관성이 있는 방식으로 구성되어 있음


Uploaded by N2T