반응형

Spring은 무엇인가?

- Spring Framework는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크이다.

- 동적인 웹 사이트를 개발하기 위한 다양한 서비스를 제공한다.

- 특히, 우리나라의 경우 전자정부 표준 프레임워크의 기반 기술로서 쓰이고 있다.

- 웹 프로그래머, 특히 백엔드 분야의 취업을 원한다면 공부하는 것을 추천하는 기술이다.

- Spring은 Java로 구현하며, 특히 JSPServlet에 대한 이해가 필수적이다.

 

 

 

Spring의 역사

Spring이 등장하기 이전에, WAS를 만들기 위한 여러 기술이 있었다.

이에 대해 간략히 정리해보자면 다음과 같다.

 

(1) CGI (Common Gateway Interface)

- 원시의 Web Server는 HTML 등의 정적 데이터를 전달할 수 있는 수준이었다.

- 사용자의 동적 데이터 요구를 만족시키기 위해 등장한 기술이다.

- 클라이언트의 요구를 응용프로그램에 전달하고, 그 결과를 사용자에게 되돌려 준다.

- 서버와 외부 응용 프로그램을 연결해준다.

- Interface일 뿐이고, 당시에 C, Pearl을 주력으로 여러 언어로 구현되었다.

 

(2) Servlet

- CGI는 서버에서 Process 단위로 동작하므로, 서버에 많은 부하가 가해졌다.

- 이를 스레드 단위로 동작시켜 서버 부하를 줄이기 위해 Servlet이 고안되었다.

- Servlet도 CGI에 따라 데이터를 주고 받지만, 이를 서블릿이 가진 컨테이너에 위임한다.

- 이는, Web Server와 Web Application이 서로 다른 언어, 체계로 만들어지는 것을 막기 위함이다.

- 각각의 Servlet은 Servlet Interface를 상속받아 구현하고, 이를 Servlet Container가 가진다.

 

(3) JSP

- Servlet에서는 HTML 출력을 작성하기가 너무 힘들었다.

- HTML에 Java 코드를 넣어서 사용하기 쉽게 한 것이 JSP 이다.

- HTML 안에 Java 코드를 포함한 Server-Side 스크립트이다.

- Java Servlet으로 변환되어 실행되므로 Servlet과 유사하다.

- WAS가 Servlet Container 혹은 Web Container로 불리곤 한다.

 

(4) EJB (Enterprise Java Bean)

- Java Bean : 자바 객체를 재사용 가능하게 컴포넌트화 한 것 (독립적 단위 모듈화)

- 비즈니스 객체들을 관리하는 컨테이너를 만들어서, 필요할 때마다 컨테이너로부터

  객체를 받는 식으로 관리하자는 생각에서 탄생된 것. 객체간 의존성 해결을 위해 탄생함

- 비즈니스 로직에 특정 기술이 종속되어 버리는 단점이 발생함

- 실제 비즈니스 로직보다, EJB 컨테이너를 사용하기 위한 코드가 너무 많아지는 현상 발생

 

(5) Spring

- EJB를 사용하지 않고도, 객체 간 의존성 해결이 가능한 컨테이너를 개발하고자 한 것

- 즉, 개발자는 비즈니스 로직에만 집중하도록 만들고자 한 것이다.

- Java Enterprise 개발ㅇ르 편리하게 해주는 오픈 소스, 경량급 애플리케이션 프레임워크

- POJO (Plain Old Java Object) : 특정 클래스를 상속하거나 Interface를 구현하지 않는 자바 클래스

- POJO를 이용해 복잡성을 제거하고, 객체의 라이프 사이클을 관리해 준다.

 

 

 

Spring의 설치 방법

여기에서의 설치 방법은 윈도우 10을 기준으로 하며, 소프트웨어의 경우 다음을 사용할 것이다.

 

- Spring 5.X

- JDK 1.8

- STS (Spring Tool Suite)

 

Spring을 사용하기 위한 방법에는 크게 두 가지 방법이 있다.

 

첫 번째는, Eclipse에 Spring 관련 플러그인을 설치하여 사용하는 방법이다.

이는 사용자의 입맛에 맞춘 다양한 설정이 직접 가능하므로, 숙련자에게 권장되는 방법이다.

 

두 번째는, Spring 관련 플러그인이 내장된, 이클립스 기반의 STS (Spring Tool Suite)를 설치하여 사용하는 방법이다.

초심자의 경우에는 다양한 설정에 어려움이 있으므로 이 방법을 추천한다.

 

Spring을 처음 사용하는 사람이라고 가정하고, 우리는 두 번째 방법을 사용하겠다.

 

* 참고로, Spring의 버전에 따른 JDK 제한은 다음과 같다.

- Spring 5.x : JDK 1.8 이상

- Spring 4.x : JDK 1.6 이상

- Spring 3.x : JDK 1.5 이상

 

 

1. JDK 1.8 설치

Oracle 홈페이지에서 JDK의 8u172 버전을 설치한다. (아래의 링크)

 

www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

 

현재 Java SE 15 의 버전이 나와있는 상태이지만, 최신 버전에서는 이슈가 있기 때문이다.

JDK 1.9 버전은 MyBatis에서 경고 메시지에 대한 이슈가 있고,

Java SE 10의 경우 Tomcat과의 이슈가 해결되지 않은 상태이기 때문이다.

(2018년 4월 기준)

 

* 추가) STS 3.9.18 이상에서는 JDK 11 이상을 설치해야 한다!

(2022년 11월 기준)

 

 

2. 환경변수 설정

JDK를 설치했으면 다음과 같이 환경변수를 설정해주어야 한다.

 

(1) JAVA_HOME

 

JDK의 경로를 JAVA_HOME으로 환경변수 설정해준다.

 

(2) PATH

PATH의 경로에, %JAVA_HOME%\bin 의 경로를 설정해준다.

 

 

3. STS (Spring Tool Suite) 설치

STS의 최신 버전은 STS4 이다.

하지만 STS4의 경우에는 Spring Boot에 특화되어 있으므로, STS3 를 설치한다.

다음의 링크에서 STS 3.9.14를 설치한다.

 

github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3

 

spring-projects/toolsuite-distribution

the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - spring-projects/toolsuite-distribution

github.com

 

 

 

4. Tomcat 9 서버 설치

JDK 1.8 이상을 사용하기 위해, Tomcat은 9.0 버전은 설치해서 사용한다.

다음의 링크에서 Tomcat 9.0 버전을 설치한다.

 

tomcat.apache.org/download-90.cgi

 

Apache Tomcat® - Apache Tomcat 9 Software Downloads

Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version

tomcat.apache.org

 

 

 

 

* 참고 문헌

velog.io/@hanblueblue/%EA%B2%8C%EC%8B%9C%ED%8C%90-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-SpringMVC-Gradle-MySql-JPA-1.-Spring%EC%99%80-SpringMVC

 

[번역] Spring (1) 역사, 핵심 요소

Spring document 번역

velog.io

 

반응형
복사했습니다!