◎ 스프링 부트 특징
(1) 내장 서버를 이용해 별도의 설정 없이 독립적인 실행이 가능한 스프링 애플리케이션
(2) 톰캣, 제티 또는 언더로우와 같은 웹 애플리케이션(WAS) 자체 내장
(3) 빌드 구성을 단순화하기 위한 'Spring Boot Starter' 의존성 제공
(4) XML 설정 없이 단순 자바 수준의 설정 방식 제공
▷ XML 설정이 스프링보다 적음
(5) JAR를 이용해 자바 옵션만으로 배포 가능
(6) 애플리케이션의 모니터링과 관리를 위한 스프링 액추에이터 제공
◎ 개발 환경
(1) 운영체제 : 윈도우
(2) 통합개발환경 (IDE) : 인텔리제이
(3) JDK 버전 : JDK 11
(4) 스프링 부트 버전 : 2.5.2 → 2.7.0(스프링 스타터)
(5) 데이터베이스 : MySQL
(6) 빌드 툴 : 메이븐
JetBrains: Essential tools for software developers and teams
◎ 개발자 도구 → IntelliJ IDEA 선택 → Download 선택 → Community Edition 다운로드(무료버전)
◎ Download 선택
◎ Community Edition 다운로드(무료버전)
▷ Ultimate는 유료 버전
설치파일 누른 후 대부분 next를 선택하고 아래의 화면에서만 체크박스 표시를 합니다.
이후 next를 계속 진행하며 설치합니다.
C → SpringBootWork 폴더 생성
1. 스프링 부트 프로젝트 생성
◎ spring initializr 패키지 생성
◎ Spring Web 추가
◎ generate → zip파일 생성
◎ generate 하면 압축파일이 하나 만들어지고 조금 전 만들었던 C드라이브 SpringBookWork에 넣고 압축을 풀어줍니다.
◎ 인텔리제이 실행
◎ open 선택 후 이전에 만들었던 압축 폴더를 불러옵니다.
◎ pom.xml 내용 추가
(1) 기본 패키지 구조
1. src/main/java 패키지 아래에 자바 소스코드 작성
2. src/main/resources 디렉토리 아래에는 HTML, CSS, JS, 이미지 파일 등의 정적 리소스를 저장
3. 쇼핑몰 제작 프로젝트 사용할 템플릿 엔진 thymeleaf는 기본적으로 뷰를 scr/main/resources/templates에서 찾음
▷ 해당 디렉토리 아래에 HTML 파일들을 작성하고 Controll Class에서 반환한 뷰와 동일한 이름의 html 파일을 찾아 웹 브라우저에 띄워줌
4. src/test/java 패키지 아래에는 테스트 코드 작성
(2) pom.xml 수정
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <!-- spring boot 사용 --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.10</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>spring-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-demo</name> <description>Starter Spring Boot Project</description> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
▷ 메이븐이란 자바 프로젝트의 빌드를 자동화해주는 빌드 툴
▶ pom.xml에 필요한 라이브러리를 적으면 메이븐이 알아서 네트워크를 통해 다운로드하고 경로까지 지정해줌
▶ 만약 메이븐 같은 빌드 툴이 없으면 jar 파일들을 일일이 받아서 직접 프로젝트에 넣어야 함.
▷ spring-boot-start-web이라고 적혀져 있어야합니다.
1. parent : 스프링부트 최상이 모듈로 스프링부트에 필요한 의존성 자동 추가
2. dependency(spring-boot-starter-web) : 웹 애플리케이션에 필요한 라이브러리
3. dependency(spring-boot-starter-test) : Spring Test Framework 라이브러리
(3) 인텔리제이 Meven 항목 확인
▷ [Maven] 탭 선택 후 'Dependencies' 클릭하면 pom.xml에 추가한 'spring-boot-starter-web', ''spring-boot-starter-test' 의존성이 들어와 있는 것을 확인할 수 있음
(4) 사용 포트 확인
◎ cmd창 netstat -ao
◎ 프로세스 죽이기 : taskkill /f /PID번호
▷ taskkill /f /3764
▷ 지금 실행하면 안됩니다!
(5) 빌드 도구
◎ 경로 확인
(6) 설정 파일
1. 애플리케이션의 실행할 포트 설정, 따로 설정하지 않으면 기본 포트는 8080
▷ 80포트는 url 뒤에 포트 번호 생략 가능
2. 애플리케이션 이름 설정, 설정해둔 애플리케이션 값을 읽어 자바 코드에서 사용해야 하면 @Value 어노테이션을 통해 읽어올 수 있음
◎ 포트 번호가 충돌이 되기때문에 변경해줍니다.server.port = 9091 application.name = spring-demo
(7) Hello World 출력
▷ src/main/java/com.example → SpringDemoApplication 클래스 수정
▷ 코드 작성 후 디버그로 실행함
◎ file → setting → Auto Import → 두 가지 체크
▷ 두 가지 체크를 하면 단축키 안써도 자동 import가 됩니다.package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class SpringDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringDemoApplication.class, args); } @GetMapping(value = "/") public String HelloWorld(){ return "Hello World"; } }
(8) file → Projcet Structure → jdk 11로 변경
◎ 자바 11버전으로 변경
(9) 결과 화면 출력
◎ http://localhost:9091/
스프링 부트 설치를 진행하고 패키지를 생성해보았습니다.
모든 설정을 마치고 지정한 주소를 입력하면 'Hello World'가 출력됩니다.
백엔드에서는 spring boot를 많이 사용한다고 하네요!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~