본문 바로가기

BackEnd/Spring Boot

[스프링 부트 쇼핑몰 프로젝트 with JPA] 개발 환경 구축 1(스프링 부트)

728x90
반응형

◎ 스프링 부트 특징

 (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

 

JetBrains: Essential tools for software developers and teams

JetBrains is a cutting-edge software vendor specializing in the creation of intelligent development tools, including IntelliJ IDEA – the leading Java IDE, and the Kotlin programming language.

www.jetbrains.com

 

◎ 개발자 도구 → IntelliJ IDEA 선택 → Download 선택 → Community Edition 다운로드(무료버전)

◎ Download 선택


◎ Community Edition 다운로드(무료버전)
   ▷ Ultimate는 유료 버전



설치파일 누른 후 대부분 next를 선택하고 아래의 화면에서만 체크박스 표시를 합니다.
이후 next를 계속 진행하며 설치합니다.


C → SpringBootWork 폴더 생성

 

 

1. 스프링 부트 프로젝트 생성

   ▷ https://start.spring.io

◎ 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를 많이 사용한다고 하네요!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

 

728x90
반응형