SpringBoot 시작하기 0. SpringCLI에서 Hello World

7226 단어 SpringBoot자바

소개



직장에서 Spring(Framework)을 사용하게 되었기 때문에
이전부터 흥미가 있던 SpringBoot를 만져보기로 했다.
덧붙여서 SpringBoot≠SpringFramework이지만 프라이빗에서는 굳이 SpringBoot를 선택.

이번에는 SpringBoot 전에 SpringCLI를 사용해보십시오.

환경




소프트웨어
버전


OS
Windows10 Pro

자바
OpneJDK 12.0.2

Spring CLI
v2.3.5.RELEASE


구현



1. SpringCLI를 떨어뜨린다.



공식 입문 문서(일본어) 에 기재되어 있다 spring-boot-cli-2.3.5.RELEASE-bin.zip 를 떨어뜨려 해동.
압축을 푼 후 폴더 아래의 spring-2.3.5.RELEASE\bin 폴더를 경로에 통과시킵니다.

이제 spring 명령을 사용할 수 있습니다.
시도에 다음 명령을 실행하여 버전이 반환되면 설치 성공.

버전 확인 명령
spring version

실행 결과
C:\>spring version
Spring CLI v2.3.5.RELEASE

2. REST API용 코드 구현



PC 상의 어느 곳이라도 좋기 때문에 REST API용의 코드를 쓴다.
공식 입문 문서에서는 Groovy로 쓰고 있지만, Java라도 좋다.

【Java】app.java
@RestController
public class Test {

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

    @RequestMapping("/sb")
    public String helloSb() {
        return "Hello SpringBoot!";
    }

}

【Groovy】app.groovy
@RestController
class ThisWillActuallyRun {

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

    @RequestMapping("/sb")
    String helloSb() {
        "Hello SpringBoot!"
    }

}

덧붙여서 상기 정도라면 import문은 불필요. (IDE로 하면 컴파일 에러 표시 나오는데)

3. 실행



REST API용 소스 코드가 있는 곳에서 다음 명령을 실행합니다.
spring run app.java

그러면 다음 메시지가 표시되고 REST API 응용 프로그램이 시작됩니다.
필요한 라이브러리는 자동으로 DL되어있는 모양.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.5.RELEASE)

2020-11-15 12:31:05.416  INFO 9532 --- [       runner-0] o.s.boot.SpringApplication               : Starting application on XXXXXXXXXX(マシン名) with PID 9532 (started by xxxx in M:\develop\works\Spring\20201115_springboot_start)
2020-11-15 12:31:05.421  INFO 9532 --- [       runner-0] o.s.boot.SpringApplication               : No active profile set, falling back to default profiles: default
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (jar:file:/M:/develop/tools/Spring/spring-boot-cli-2.3.5.RELEASE-bin/spring-2.3.5.RELEASE/lib/spring-boot-cli-2.3.5.RELEASE.jar!/BOOT-INF/lib/groovy-2.5.13.jar!/) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2020-11-15 12:31:06.384  INFO 9532 --- [       runner-0] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-11-15 12:31:06.394  INFO 9532 --- [       runner-0] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-11-15 12:31:06.394  INFO 9532 --- [       runner-0] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.39]
2020-11-15 12:31:06.426  INFO 9532 --- [       runner-0] org.apache.catalina.loader.WebappLoader  : Unknown class loader [org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader@6adca536] of class [class org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader]
2020-11-15 12:31:06.458  INFO 9532 --- [       runner-0] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-11-15 12:31:06.458  INFO 9532 --- [       runner-0] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 889 ms
2020-11-15 12:31:06.601  INFO 9532 --- [       runner-0] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-11-15 12:31:06.879  INFO 9532 --- [       runner-0] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-11-15 12:31:06.887  INFO 9532 --- [       runner-0] o.s.boot.SpringApplication               : Started application in 1.795 seconds (JVM running for 3.034)

4. 가동 확인



다음에 액세스해 봅니다.
http://localhost:8080/
http://localhost:8080/sb

오~ 좋아요~

요약



SpringCLI만으로 속공으로 REST API가 생겼다. (문자열 반환하지만)
이 시점이라면 IDE조차 불필요.
굉장히 간단한 API 모의 만든다면 이것이라도 좋을지도 모른다.

다음 번은 SpringBoot의 제대로 했습니까? 응용 프로그램을 만들고 싶습니다.

참고



공식 입문 문서(일본어)

좋은 웹페이지 즐겨찾기