[01] Spring Boot μ†Œκ°œ

MIIINΒ·2021λ…„ 9μ›” 13일
0

Spring Boot

λͺ©λ‘ 보기
1/9
post-thumbnail

🌱 Spring Boot

Spring BootλŠ” ν”„λ‘œλ•μ…˜(Production) ν™˜κ²½μ—μ„œ "Just Run" 으둜 μ‹€ν–‰ν•  수 μžˆλŠ” Spring 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‰½κ²Œ λ§Œλ“€κ²Œ ν•΄μ€€λ‹€. Spring Boot μ‚¬μš©μžλŠ” μ„œλ“œνŒŒν‹° λΌμ΄λΈŒλŸ¬λ¦¬λ‚˜ Spring ν”Œλž«νΌ 섀정을 μ΅œμ†Œν™”ν•˜μ—¬ μž‘μ—…μ„ 진행 μ‹œμž‘ν•  수 μžˆλ‹€.


πŸ“ μ‹œμŠ€ν…œ μš”κ΅¬ 사항 (Spring Boot 2.5.4 κΈ°μ€€)

  • JAVA 8 이상 JAVA 16 κΉŒμ§€
  • Maven 3.5 이상
  • Gradle 6.8.x, 6.9.x and 7.x

πŸ“ μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆ

Spring BootλŠ” λ‹€μŒκ³Ό 같은 λ‚΄μž₯ μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆλ“€μ„ μ§€μ›ν•œλ‹€.

이름버전
Tomcat 9.04.0
Jetty 9.43.1
Jetty 10.04.0
Undertow 2.04.0

πŸ’‘ Spring Boot Tutorial (Maven κΈ°μ€€)

1. 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>

    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
    </parent>

    <!-- Additional lines to be added here... -->

</project>

2. Classpath μΆ”κ°€

Sprin BootλŠ” classpath에 jar듀을 μΆ”κ°€ν•΄μ£ΌλŠ” μ—¬λŸ¬ "Starters"을 μ œκ³΅ν•œλ‹€.
그쀑 parent μƒ‰μ…˜μ— μΆ”κ°€ν•œ spring-boot-starter-parent은 μœ μš©ν•œ Maven 기본값듀을 μ œκ³΅ν•˜λŠ” νŠΉλ³„ν•œ μŠ€νƒ€ν„°μ΄λ©°, 의쑴 λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ— λŒ€ν•œ version νƒœκ·Έλ“€μ„ μƒλž΅ν•΄μ£ΌλŠ” dependency-management μƒ‰μ…˜λ„ μ œκ³΅ν•œλ‹€.

λ‹€λ₯Έ μŠ€νƒ€ν„°λ“€μ€ νŠΉμ •ν•œ μœ ν˜•μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  λ•Œ ν•„μš”ν•œ 의쑴 λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ μ œκ³΅ν•œλ‹€. 예λ₯Ό λ“€μ–΄ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•œλ‹€λ©΄, spring-boot-starter-web dependencyλ₯Ό μΆ”κ°€ν•˜λ©΄ λœλ‹€.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3. μ½”λ”©

기본적으둜 Maven은 src/main/java 폴더 λ‚΄ javaμ†ŒμŠ€λ“€μ„ μ»΄νŒŒμΌν•œλ‹€.

@RestController
@EnableAutoConfiguration
public class MyApplication {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

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

4. μ‹€ν–‰

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ €λ©΄ 터미널에 mvn spring-boot:run 을 μž…λ ₯ν•œλ‹€.
localhost:8080 으둜 μ΄λ™ν•˜λ©΄ Hello World!κ°€ 좜λ ₯될 것이닀.

5. Jar / War νŒ¨ν‚€μ§•

jar 파일둜 νŒ¨ν‚€μ§•μ„ ν•˜λ©΄ μ™„μ „νžˆ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰ν•  수 있으며, 컴파일된 classλ“€κ³Ό 의쑴 라이브러리(jar)듀을 λͺ¨λ‘ ν¬ν•¨λœλ‹€.
war νŒŒμΌμ€ Servlet Container에 λ°°μΉ˜ν•  수 μžˆλŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ••μΆ• 파일 포맷으둜 jsp, servlet, jar, class, xml, html, javascript λ“± Sevlet Context κ΄€λ ¨ νŒŒμΌλ“€λ‘œ νŒ¨ν‚€μ§•λ˜μ–΄ μžˆλ‹€.

πŸ“£ κ³„μ†ν•΄μ„œ Spring Bootλ₯Ό λ”μš± μžμ„Ένžˆ νŒŒν—€μ³λ³΄μž!

profile
λ°±μ—”λ“œκ°œλ°œμž

0개의 λŒ“κΈ€