ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Framework
    Programming/Spring 2021. 8. 6. 19:20

    ■ 스프링 프레임워크란?

    • 자바 언어 기반의 프레임워크
    • 객체지향 언어의 특징을 잘 살린 애플리케이션을 개발할 수 있게 도와주는 프레임워크

    * 프레임워크 : 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용 가능하게끔 클래스들을 제공하는 틀

    * 라이브러리 : 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램

     

     짧게 보는 히스토리

    지금은 자바 기반 애플리케이션 개발에 스프링 프레임워크가 기본으로 쓰이지만

    스프링 프레임워크 이전에는 EJB가 있었다.

     

    EJB (Enterprise JavaBeans)

    • 썬 마이크로시스템사에서 제공, Java EE(엔터프라이즈 에디션)의 스펙을 구현한 표준규약
    • 비즈니스로직, 데이터베이스, 트랜잭션 처리 등 서버 애플리케이션 개발을 용이하게 함
    • 기술이 복잡, EJB 종속적인 코드, 객체지향적이지 못함

    == 개선해야 할 문제점이 많았다 ==> 

    • 로드존슨, J2EE Design and Development 출간
    • EJB 문제점 지적, EJB를 사용하지 않고 순수 자바 클래스를 이용해 객체 간 의존성 문제를 해결한, 오늘날 스프링의 핵심이 되는 개념과 코드를 제시
    • 유겐휠러와 얀 카로프, 로드존슨이 오픈소스 프로젝트 진행하여 스프링이 탄생, 발전

     

     스프링 프로젝트의 목록

    스프링 프레임워크, 스프링부트, 스프링 시큐리티, 스프링 데이타, 스프링 클라우드, 스프링 배치...

    ※ 스프링부트 : 스프링 프레임워크를 보다 편리하게 실행할 수 있도록 도와줌

     

     스프링 프레임워크 핵심모듈

    1. 코어컨테이너

    의존성 주입(Dependency Injection), 제어의 역전(Inversion of Control) 컨테이너, ApplicationContext 핵심 기능을 제공

     

    2. Data Access/Integration layer

    • Transaction : ORM, JDBC module 지원
    • Object XML Mapping(OXM) : Object/XML 매핑을 지원(JAXB, Castor, XMLBeans, JibX and XStream
    • Object Relationship Mapping(ORM) : 관계형데이터베이스 - 객체 매핑 (JPA, Hibernate, JDO)
    • Java Database Connectivity (JDBC) : 자바, 데이터베이스 연동 편리하게 지원
    • Java Messaging Service(JMS)

     

    3. Web layer : Web, Web-Servlet, WebSocket, Web-Portlet 모듈로 구성

     

    4. AOP(Aspect-Oriented Programming)

    관심사를 설정하여 특정 요청 발생 시 해당 메서드 실행 전후에 특정 작업을 수행할 수 있도록 함

     

    5. Test

    • JUnit 등을 활용하여 테스팅을 지원
    • 독립적으로 테스트할 수 있도록 목 객체도 지원

     

    댓글

Designed by Tistory.