스프링의 등장배경, 스프링 부트

정훈희·2022년 10월 10일
0

Spring

목록 보기
1/24
post-thumbnail

스프링의 등장 배경

참조 링크

스프링 이전

스프링은 EJB라는 강한 권위를 가졌던 표준기술을 비판하며 등장했다.

EJB의 사용과 프로그램의 규모 증가로 특정 기술과 환경에 종속되어 의존하게 된 자바 코드는 가독성이 떨어져 유지보수가 어려워졌다.

특정 기술의 클래스를 상속받거나, 직접 의존하게 되어 확장성이 매우 떨어지며 점점 객체지향성을 잃어갔다.

→ POJO 프레임워크 등장

POJO(Plain Old Java Object)

  • Getter와 Setter로 구성된 가장 순수한 형태의 JAVA객체
  • POJO의 예시
    public class MyPojo {
    	private String name;
    	private int age;
    	public String getName() {
    		return name;
    	}
    	public String getAge() {
    		return age;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    }

POJO 프레임워크

  • POJO의 장점과 EJB에서 제공하는 엔터프라이즈 서비스와 기술을 그대로 사용할수 있게 도와주는 프레임워크
  • 대표적으로 하이버네이트, 스프링 등이 있다.

하이버네이트

  • Persistence(영속성 컨텍스트) 기술과 오브젝트-관계형 DB 매핑을 순수한 POJO를 이용해 사용할 수 있게 만드는 POJO기반의 퍼시스턴스 프레임워크
    • 나중에 따로 공부하기

스프링

  • 자바 엔터프라이즈 어플리케이션 개발에 사용되는 프레임워크
  • 엔터프라이즈 서비스들을 POJO 기반으로 만든 비즈니스 오브젝트에서 사용할 수 있게 해줌
  • IoC 컨테이너를 제공해서, 인스턴스들의 라이프 사이클을 관리
  • 특정 인터페이스를 구현하거나 상속할 필요가 없고 라이브러리를 지원하기에 용이하며 객체도 가벼움

스프링 부트

  • 스프링을 사용하기 위한 설정의 많은 부분을 자동화하여 사용자가 편하게 스프링을 활용할 수 있도록 도와주는 자바의 웹 프레임워크
  • 내장 톰캣을 사용하므로 따로 설치나 버전을 관리할 수고를 덜어줌
  • spring boot starter가 대부분의 dependency를 관리해줘서 버전관리의 어려움을 줄여줌
profile
DB를 사랑하는 백엔드 개발자입니다. 열심히 공부하고 열심히 기록합니다.

0개의 댓글