티스토리 뷰
스프링 부트(Spring Boot)는 스프링(Spring)을 기반으로한 웹 어플리케이션 개발을 더욱 쉽고 빠르게 할 수 있게 도와주는 도구입니다. 스프링 부트를 사용하면 설정 파일이나 빌드 도구의 설정 등을 직접 작성하지 않고도 쉽게 프로젝트를 생성하고 실행할 수 있습니다.
스프링 부트를 설치하려면 다음과 같은 단계를 따르면 됩니다.
- 스프링 부트 다운로드 사이트에서 원하는 버전을 선택하고 다운로드합니다. (https://start.spring.io/)
Project : Maven
Java : 19
로 선택 (macOS에서 테스트) - 다운로드한 파일을 압축해제합니다.
- 압축해제된 폴더에서 명령 프롬프트 또는 터미널을 열고 ./mvnw spring-boot:run 명령어를 입력하여 스프링 부트를 실행합니다.
jaseopkwak@Jaseops-iMac-2 ~/springboot/demo ./mvnw -X spring-boot:run
Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29)
Maven home: /Users/jaseopkwak/.m2/wrapper/dists/apache-maven-3.8.7-bin/678cc9d4/apache-maven-3.8.7
Java version: 19.0.1, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-19.0.1.jdk/Contents/Home
Default locale: en_KR, platform encoding: UTF-8
OS name: "mac os x", version: "13.2.1", arch: "x86_64", family: "mac"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG] Imported: javax.annotation.* < plexus.core
...
[DEBUG] JVM argument(s): -XX:TieredStopAtLevel=1
[DEBUG] Classpath for forked process: /Users/jaseopkwak/springboot/demo/target/classes:/Users/jaseopkwak/.m2/repository/org/springframework/boot/spring-boot/3.0.4/spring-boot-3.0.4.jar:/Users/jaseopkwak/.m2/repository/org/springframework/spring-context/6.0.6/spring-context-6.0.6.jar:/Users/jaseopkwak/.m2/repository/org/springframework/spring-aop/6.0.6/spring-aop-6.0.6.jar:/Users/jaseopkwak/.m2/repository/org/springframework/spring-beans/6.0.6/spring-beans-6.0.6.jar:/Users/jaseopkwak/.m2/repository/org/springframework/spring-expression/6.0.6/spring-expression-6.0.6.jar:/Users/jaseopkwak/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.0.4/spring-boot-autoconfigure-3.0.4.jar:/Users/jaseopkwak/.m2/repository/ch/qos/logback/logback-classic/1.4.5/logback-classic-1.4.5.jar:/Users/jaseopkwak/.m2/repository/ch/qos/logback/logback-core/1.4.5/logback-core-1.4.5.jar:/Users/jaseopkwak/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.19.0/log4j-to-slf4j-2.19.0.jar:/Users/jaseopkwak/.m2/repository/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar:/Users/jaseopkwak/.m2/repository/org/slf4j/jul-to-slf4j/2.0.6/jul-to-slf4j-2.0.6.jar:/Users/jaseopkwak/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar:/Users/jaseopkwak/.m2/repository/org/springframework/spring-core/6.0.6/spring-core-6.0.6.jar:/Users/jaseopkwak/.m2/repository/org/springframework/spring-jcl/6.0.6/spring-jcl-6.0.6.jar:/Users/jaseopkwak/.m2/repository/org/yaml/snakeyaml/1.33/snakeyaml-1.33.jar:/Users/jaseopkwak/.m2/repository/org/slf4j/slf4j-api/2.0.6/slf4j-api-2.0.6.jar
[DEBUG] Application argument(s):
[DEBUG] Environment variable(s):
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.0.4)
2023-03-21T09:56:39.963+09:00 INFO 4378 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication using Java 19.0.1 with PID 4378 (/Users/jaseopkwak/springboot/demo/target/classes started by jaseopkwak in /Users/jaseopkwak/springboot/demo)
2023-03-21T09:56:39.965+09:00 INFO 4378 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to 1 default profile: "default"
2023-03-21T09:56:40.269+09:00 INFO 4378 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 0.508 seconds (process running for 0.719)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.201 s
[INFO] Finished at: 2023-03-21T09:56:40+09:00
[INFO] ------------------------------------------------------------------------
jaseopkwak@Jaseops-iMac-2 ~/springboot/demo
간단한 스프링 부트 예제를 실행해보겠습니다. 먼저, 스프링 부트 다운로드 사이트(https://start.spring.io/)에서 프로젝트 생성을 위한 설정을 해줍니다. 설정을 완료한 후 다운로드한 파일을 압축해제합니다.
다음으로, 압축해제한 폴더에서 src/main/java/com/example/demo 폴더를 생성하고, 그 안에 다음과 같은 코드를 작성합니다.
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
이 코드는 스프링 부트 애플리케이션을 실행하는 데 필요한 최소한의 코드입니다. 이제, 명령 프롬프트나 터미널에서 다음 명령어를 입력하여 애플리케이션을 실행합니다.
./mvnw spring-boot:run
애플리케이션이 실행되면 브라우저에서 http://localhost:8080 주소로 접속하면 "Whitelabel Error Page"라는 에러 페이지가 나타납니다. 이는 우리가 아직 컨트롤러(Controller)를 구현하지 않았기 때문입니다.
다음으로, src/main/java/com/example/demo 폴더에 다음과 같은 코드를 작성하여 컨트롤러를 구현해줍니다.
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping("/")
@ResponseBody
public String index() {
return "Hello, world!";
}
}
이 코드는 "/" 경로에 접속하면 "Hello, world!" 라는 문자열을 반환하는 컨트롤러를 구현한 것입니다.
이제 다시 명령 프롬프트나 터미널에서 ./mvnw spring-boot:run 명령어를 입력하여 애플리케이션을 실행합니다. 브라우저에서 http://localhost:8080 주소로 접속하면 "Hello, world!" 라는 문자열이 출력되는 것을 확인할 수 있습니다. 이처럼 간단한 스프링 부트 예제를 실행해보면서 스프링 부트의 기본 개념과 사용 방법을 익힐 수 있습니다. 스프링 부트를 활용하여 복잡한 웹 어플리케이션을 개발할 때도 비슷한 방식으로 시작할 수 있습니다.
스프링 부트는 다양한 라이브러리와 프레임워크를 쉽게 통합하여 사용할 수 있습니다. 예를 들어, 스프링 MVC(Spring MVC) 프레임워크를 사용하여 웹 어플리케이션을 개발하려면 다음과 같은 코드를 추가하면 됩니다.
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String home(Model model) {
model.addAttribute("message", "Hello, world!");
return "home";
}
}
이 코드는 스프링 MVC 프레임워크에서 사용하는 컨트롤러를 구현한 것입니다. @GetMapping("/") 어노테이션은 "/" 경로에 GET 요청이 들어왔을 때 이 메소드가 실행되도록 설정한 것입니다. 메소드는 Model 객체를 매개변수로 받아서 "message"라는 이름의 속성에 "Hello, world!" 라는 문자열을 설정한 후, "home" 라는 이름의 뷰(View)를 반환합니다.
이제 src/main/resources/templates 폴더에 "home.html" 파일을 생성하고 다음과 같은 코드를 작성합니다.
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
이 코드는 Thymeleaf 템플릿 엔진을 사용하여 화면을 구현한 것입니다. "th:text" 속성에 "${message}" 라는 표현식을 사용하여 컨트롤러에서 전달한 "message" 속성 값을 출력하도록 설정한 것입니다.
이제 다시 명령 프롬프트나 터미널에서 ./mvnw spring-boot:run 명령어를 입력하여 애플리케이션을 실행합니다. 브라우저에서 http://localhost:8080 주소로 접속하면 "Hello, world!" 라는 문자열이 출력되는 것을 확인할 수 있습니다. 이처럼 스프링 부트와 스프링 MVC를 사용하여 웹 어플리케이션을 개발하는 방법을 알아보았습니다. 스프링 부트는 다양한 기능과 라이브러리를 제공하므로, 필요한 기능에 맞게 설정을 추가하고 라이브러리를 사용하여 개발할 수 있습니다.
'개발' 카테고리의 다른 글
| vcpkg 설치 및 라이브러리 지정 (0) | 2023.08.10 |
|---|---|
| Django와 Springboot 비교 (0) | 2023.03.23 |
| NXP i.MX6의 부팅순서 (0) | 2023.03.09 |
| Vue.js에 대해 설명하고 예제 만들기 (0) | 2023.03.08 |
| MFC로 작성된 프로그램에서 버전 및 저작권 정보 추가 (0) | 2023.03.07 |
- Total
- Today
- Yesterday