SpringBoot

[SpringBoot] Spring Boot 개념 및 시작하기-1

Jeong Jeon
반응형

SpringBoot란?

  •  스프링 프레임워크 프로젝트를 간편하게 설정하여 사용할 수 있게 하는 아이
  •  Spring Boot makes it easy to create stand-alone.
  •  Most Spring Boot applications need very little Spring configuration.
  •  웹 컨테이너를 내장하고 있어 최소한의 설정으로 쉽게 웹 어플리케이션을 만들 수 있다.

SpringBoot 사용 이유 및 장점

SpringFramework와 비교해보자.

 

  • SpringFramework는 XML 설정파일 작성 등 설정하는 방법이 어렵지만 , SpringBoot는 반복되는 개발환경 구축을 위한 노력을 줄이고,  쉽고 빠르게 프로젝트를 설정할 수 있다.
  • 프로젝트 환경 구축에서의 비기능적인 기능(내장형 서버, 시큐리티, 측정, 상태 점검, 외부 설정)들을 기본적으로 제공한다.

 

 

  

프로젝트 생성

 

우선 New -> Spring Starter Project를 선택한다.

다음아래 설명내용을 참고하여 원하는 설정값을 입력한다.

  •  Type : Maven - 프로젝트 빌드 및 의존성 관리에 Maven 을 사용 (Gradle을 선택가능) 
  • Packaging: Jar - 패키징을 Jar로 하도록 설정 (War로도 설정 가능)
  •  Java Version: 8 - 자바는 1.8을 사용
  •  Language: Javav - 언어는 Java 사용
  •  Group com.won.test - 보통 도메인을 사용합니다.
  •  Artifact: spring-boot-test - Maven 아티팩트명 => 프로젝트명
  •  Version: 0.0.1-SNAPSHOT - 프로젝트의 버전
  •  Description: Demo project for Spring Boot - 프로젝트 설명
  •  Package : com.won.test - 초기 소스들이 만들어질 기본 패키지명

다입력 한 후 Next를 눌러 다음 설정으로 넘어간다.

여기서 원하는 Dependency를 선택하여 추가할수있다.

본인은 일단 프로젝트 공부하면서 만들고 있기 때문에 , Spring Web만 추가하여 생성하였다.

추가적으로 Maven이나 여러가지 원하는 Dependency를 추가할 수 있으니 검색하여 참고하면 된다.

 

이제 프로젝트가 생성되고,

가장먼저 pom.xml을 살펴보자.

간단하게 설명 되어있으니, 참고하면 될것같다. parent부분 외 나머지는 SpringFramework와 비슷한것 같다.

<?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>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.4.3</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<groupId>com.example</groupId>
	<artifactId>spring-boot-test</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring-boot-test</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</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>

 

Application.java

아래 코드와 함께 설명된것처럼 @SpringBootApplication Annotation의 의미를 알수있다.

ComponentScan도 하기 때문에 해당 클래스가 있는 package를 최상위 패키지로 인식하기 때문에 이 Annotation의 위치를 유의하여야 한다.

@SpringBootApplication  //@EnableAutoConfiguration, @ComponentScan, @Configuration을 하나로 묶어 놓은 것
public class SpringBootTestApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringBootTestApplication.class, args);
	}

}

서버를 띄울수있는 준비가 완료되어 Spring Boot Run을 실행하여 서버를 띄워보자.

아직은 어떠한 페이지도 없기때문에 예시로 index.html을 작성하여 localhost:8080/index.html으로 접속하여보자.

 

index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Insert title here</title>
</head>
<body>
	<h1>Hello World</h1>
</body>
</html>

문제없이 Hello World가 띄워지는것을 확인할 수 있다.

 

반응형