AdSense

網頁

2018/9/3

使用Spring Tool Suite(STS)建立spring boot專案

本篇介紹如何使用STS建立一個簡單的spring boot專案。

下載STS。(本範例使用WIN, 64BIT版本)

STS(Spring Tool Suite)是基於eclipse的開發環境(IDE),並加強了開發Spring應用程式的功能,所以操作介面幾乎同eclipse。或是你也可以在既有的eclipse安裝Spring Tools (STS) plug-in來建立spring-boot專案

STS安裝方式同eclipse。下載好STS後,將壓縮檔(本範例為spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64.rar)解壓縮至安裝目錄(本範例的安裝目錄為D:\MyProject\spring-boot)。

解壓縮後可看到一個sts-bundle資料夾,裡面有三個資料夾legalpivotal-tc-serversts-3.9.5.RELEASE



sts-3.9.5.RELEASE資料夾中即有STS的執行檔STS.exe,還有STS的初始設定檔STS.ini



通常我會將eclipse的JVM指向所在路徑,及設定預設encode為UTF-8,所以開啟STS.ini並加入下面設定並存檔。

-vm
D:\Applications\Java\jre1.8.0_171\bin\javaw.exe (請改為你系統中Java的執行檔位置)
-Dfile.encoding=UTF-8

接著開啟STS,指定好你的workspace。

在點選上方功能選單的File -> New -> Spring Starter Project



接著填寫專案maven 的Group,Artifact,Version等。設定好後按Next >



在左側的選單找到Web -> Web及Core -> DevTools(基本上只需要Web即可。至於DevTools提供專案自動重啟功能。)並勾選然後按Finish完成。



完成後便可以在STS左側的Package Explore看到新建的spring boot專案。專案目錄結構如下。



SpringBootDemoApplication.java是依前面maven設定時的命名而自動生成的,為spring boot應用程式執行的進入點。內容如下

package idv.matt.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootDemoApplication {

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

一般來說在spring boot應用程式中掛有@SpringBootApplication的main程式為執行時的進入點。同時也是主要的配置類別。

@SpringBootApplication其實包含了@EnableAutoConfiguration@ComponentScan@Configuration三種annotation的設定效果。

@SpringBootApplication會掃描所在類別的package及其子package中掛有@Component@Controller@Service@Repository等component類別並註冊為spring bean。

本範例@SpringBootApplication所在類別SpringBootDemoApplication的package為idv.matt.demo,所以只有idv.matt.demo及子package下(例如idv.matt.demo.controlleridv.matt.demo.service.impl)的component類會被掃描。

接著試著運行看看,在專案上按右鍵 -> Run As -> Spring Boot App,然後在console便會出現下面訊息,代表專案已經開始運行了。


如果本篇有幫助到您,幫忙點一下廣告支持,感恩。

11:59:12.976 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
11:59:12.976 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/, /spring-boot/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter/target/classes/]
11:59:12.992 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/D:/MyProject/spring-boot/workspace/spring-boot-demo/target/classes/]

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

2018-09-04 11:59:13.273  INFO 9468 --- [  restartedMain] idv.matt.demo.SpringBootDemoApplication  : Starting SpringBootDemoApplication on matt-PC with PID 9468 (D:\MyProject\spring-boot\workspace\spring-boot-demo\target\classes started by matt in D:\MyProject\spring-boot\workspace\spring-boot-demo)
2018-09-04 11:59:13.273  INFO 9468 --- [  restartedMain] idv.matt.demo.SpringBootDemoApplication  : No active profile set, falling back to default profiles: default
2018-09-04 11:59:13.335  INFO 9468 --- [  restartedMain] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3ae07be9: startup date [Tue Sep 04 11:59:13 CST 2018]; root of context hierarchy
...
...
2018-09-04 11:59:15.174  INFO 9468 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2018-09-04 11:59:15.190  INFO 9468 --- [  restartedMain] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-09-04 11:59:15.237  INFO 9468 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-09-04 11:59:15.237  INFO 9468 --- [  restartedMain] idv.matt.demo.SpringBootDemoApplication  : Started SpringBootDemoApplication in 2.245 seconds (JVM running for 3.047)


沒有留言:

AdSense