JDK (Java Development Kit)
- Java 프로그래밍 언어를 개발하고 실행하는 데 사용되는 소프트웨어 개발 키트로 javac, JRE, JVM 등을 포함한다.
- javac(Java Compiler)는 .java 파일을 .class라는 Java Byte Code로 변환해 준다.
- JRE(Java Runtime Environment)는 자바 애플리케이션을 실행하는 데 필요한 라이브러리와 실행 환경을 제공하는 자바 실행 환경을 말한다.
- JVM (Java Virtual Machine)는 자바 프로그램을 실행하기 위한 가상 머신으로 javac가 변환한 Byte Code를 이 OS가 이해할 수 있도록 Binary Code로 해석해준다.
JDK 설치
- JDK 11 다운로드
- 시스템 환경변수 등록
- JAVA_HOME에 jdk의 경로를 추가해준다.
- path에 jdk의 /bin 경로 추가(다른 jdk가 있으면 상단으로 옮기기) - JDK 버전확인
Tomcat
- Web Server + Web Container(Sevlet Container)
- Web Server: 정적 컨텐츠 처리, Web Container: 동적 페이지 처리 - Servlet은 단순 자바 인터페이스로 init(), service(), destroy() 세개의 메서드를 정의하고, 서블릿 컨테이너(톰캣)가 이 인터페이스를 구현한 클래스를 관리합니다.
- Servlet을 사용하는 이유는 동적인 화면을 구동하기 위함이고,
- 톰캣은 Coyote, Jasper, Catalina라는 컴퍼넌트로 이루어져있는데 그중 카타리나 서블릿 컨테이너는 java 명령어를 통해 실행할 수 있는 자바 애플리케이션입니다.
- 톰캣은 서블릿은 실행시키고, JSP코드가 포함되어 있는 웹페이지를 만들어주고, 웹서버에서 넘어온 동정 페이지를 읽어 프로그램을 실행하고, 그 결과를 다시 HTML로 재 구성하여 아파치에게 되돌려준다.
tomcat 설치
- 스펙(JDK버전)에 따른 톰캣버전 설치하기.
- tomcat 다운로드(.zip 파일) 및 압축해제
- 아파치 홈페이지 내 [Documentation] 메뉴의 [Tomcat 8.5] - [User Guide] 메뉴의 [30) Windows Service] - 'Installing services' 항목에서 아래와 같이 설치 방법(링크)을 확인
- 관리자 권한으로 CMD(명령 프롬프트)를 실행 > [Tomcat 설치 경로]\bin> service.bat install
- Tomcat 설치 경로의 'bin' 폴더 내 'tomcat8w.exe' 파일을 통해 Tomcat을 구동하여 Service Status: Staered가 되면
- 127.0.0.1:8080 또는 localhost:8080 접속하여 아래와 같은 화면이 나오면 설치 완료.(톰캣 기본 포트: 8080)
STS(SpringSource Tool Suite)
- STS(SpringSource Tool Suite)는 이클립스 기반으로 만든 스프링 프로젝트에 특화된 IDE
- STS3는 스프링 프로젝트에 특화되어 있고, STS4는 스프링 부트프로젝트에 특화되어 있다. 스프링 프로젝트를 생성하려면 STS3을 설치하면된다.
STS 설치
- STS 다운로드
- STS.ini파일에 jdk경로 추가(JDK버전 명시적 지정)
- sts-bundle 폴더 / release 폴더 / STS.exe 실행
- Preferences > workspace > Text file encoding > UTF-8
- Preferences > web > css, jsp... > encoding > korean UTF-8
STS에 tomcat 세팅
- 톰캣은 웹 애플리케이션 서버로, 웹브라우저로 부터 요청을 받아 해당 애플리케이션을 제공한다
- 프로젝트를 톰캣에 추가하면 STS에서 톰캣 서버를 시작하고 프로젝트를 로컬(기본 localhost:8080)로 테스트를 할 수 있다.
- window > preferences > server > Rumtime Environment > add 의 경로에 tomcat 추가
- servers에 tomcat server 추가
프로젝트 생성
[개발환경]
더보기
- Java 버전: Java 11 (OpenJDK)
빌드 도구: Apache Maven
통합 개발 환경(IDE): Spring Tool Suite (STS) 5.0.7
웹 어플리케이션 서버 (WAS): Apache Tomcat 8.5.94
데이터베이스 IDE: MySQL 8.0 (데이터베이스 시스템) - 주요 라이브러리 및 의존성:
Spring Framework: 버전 5.0.7.RELEASE
AspectJ: 버전 1.6.10
SLF4J: 버전 1.6.6
log4j: 버전 1.2.17
Lombok: 버전 1.18.22
MySQL Connector/J: 버전 5.1.49
HikariCP: 버전 5.0.1
MyBatis: 버전 3.5.2
MyBatis Spring: 버전 2.0.6
JUnit: 버전 4.12
프로젝트 생성
- 프로젝트 생성(File > New > Spring Legacy Project)
tomcat server에 project 추가
- tomcat 우클릭 > add and Remove.. > 프로젝트 add
- 생성한 프로젝트 우클릭 > Run As > Run On Server
- 생성한 프로젝트 우클릭 > Run As > Run On Server
Lombock
Lombock
- Lombock
어노테이션 기반으로 코드를 자동완성 해주는 라이브러리로 코드의 수를 대폭 줄여주어 개발자의 생산성을 높여준다.
- @Getter, @Setter, @AllArgsConstructor, @NoArgsConstructor, @ToString, @EqualsAndHashCode, @Data, @Builder, @Slf4j 등이 있다.
- cmd > 롬복 실행 > ide경로 추가 및 설치
java -jar lombok.jar
- 설치가 완료되면 해당 경로에 lombock.jar 파일이 생성되어 있다.
- sts.ini에서도 확인가능
- 디펜던시 추가
- STS는 spring개발을 위한 다양한 플로그인과 기능을 제공하는데 maven 플러그인도 내장되어 있다.
- maven을 실행( mvn compile, mvn package, mvn install 등)
> maven 설정파일인 pom.xml을 찾아 설정을 읽음
> 의존성정보를 바탕으로 필요한 라이브러리를 인터넷 레포지토리, 로컬저장소에서 가져와 저장(.m2 디렉토리)
> 프로젝트 빌드 및 작업 실행 ( JAR 파일 생성, WAR 파일 빌드, 테스트 실행) > WEB-INF/lib 디렉토리 배포
웹 애플리케이션 실행 및 클래스로더 동작
> Java 웹 애플리케이션 서버(예: Apache Tomcat, Jetty)가 실행되면 애플리케이션 클래스로더(ClassLoader) 를 생성
> 클래스로더(ClassLoader)가 읽어 클래스 패스(classpath)에 추가하여 웹 애플리케이션을 실행할때 해당 라이브러리를 사용 할 수 있도록 함
출처
도서: 코드로배우는 스프링 웹프로젝트
https://medium.com/chequer/tomcat-spring-bootstrapping-sequence-1%ED%8E%B8-tomcat-4402102c0585
https://jngcii.tistory.com/m/entry/Tomcat-Overview