1. Spring의 배경
Spring은 자바 엔터프라이즈(J2EE) 개발을 편리하게 해주는 프레임워크이다.
J2EE(자바 엔터프라이즈)란 대규모 기업용 애플리케이션을 개발하기 위한 자바 기반의 산업 표준 플랫폼이다.
하지만 J2EE는 XML, 설정 파일 난립 등의 매우 복잡한 설정을 해야하는 단점이 있었고, 개발 생산성이 낮은데다 객체 간의 결합도가 높아 테스트 및 유지보수가 어려운 단점을 있었다.
Rod Johnson은 이러한 J2EE의 복잡한 개발 방식에 반발하여 2004년 'Expert One-on-One J2EE Development without EJB' 란 책을 출간하여 프레임 워크의 기반을 제시하였고, 이 책에서 제시한 핵심 개념을 기반으로 발전시켜 Spring Framework를 발명하게 되었다.
2. Spring을 배우는 이유
Spring은 Java를 기반으로 개발을 효율적으로 하게 해주는 프레임워크이다.
JAVA로만 웹을 개발할때는 DB연결 및 트랜잭션 처리, 공통 로직 처리, 객체 생성 및 의존성 관리등의 코드들을 직접 구현해야 하므로 전체적인 코드가 복잡해지고, 유지보수가 힘들어진다.
이를 Spring을 통해 반복적인 세부구현들을 캡슐화 하여 보다 편하게 코딩을 가능하게 해주며, 객체 생성과 의존성을 관리하는 컨테이너 역할을 수행하여 객체간의 결합도를 낮추고 유연한 구조를 만들 수 있게 한다.
Spring의 활용 예시
ex) 서비스: 쇼핑몰
Java의 역할:상품, 주문, 회원정보 등
Spring의 역할:의존성 관리(DI), DB연결 및 트랜잭션 처리 등
3. Spring Boot란?
Spring Boot는 Spring을 더욱 쉽게 이용할 수 있게해주는 도구이다.
Spring Boot는 관련 라이브러리만 추가하면 알아서 DB 연결이나 JSON변환등의 작업들을 자동으로 해준다. 또한 내장서버를 통해 WAS를 따로 설치할 필요 없이 바로 실행이 가능하다.
3줄 요약
1. Java는 웹 애플리케이션 코딩에 사용되는 유연하고 안정적인 프로그래밍 언어이다.
2. Spring은 Java를 기반으로 한 프레임워크로서, Java의 개발을 더 편하게 만들어주는 역할을 당담한다.
3. Spring Boot는 Spring을 더욱 편하게 만들어주는 기능을 담당한다.