# 项目初始化 Spring官方为我们提供了非常简单的初始化器:[https://start.spring.io](https://start.spring.io/) ![](https://img.kancloud.cn/91/bd/91bd5756c54bad7e9b3deaec0b1cc78c_1023x854.png) 2.1.8为版本号,Goup一般写自己拥有的域名,目的是防止冲突。Artifact为项目标识,在同一个Group下该名称应该唯一,目的也是防止冲突。在Dependencies(依赖)中,我们输入`web`后,在弹出的选项中选择第1个`Spring Web`并点击右方的`+`完成添加。 ![](https://img.kancloud.cn/16/4f/164f81065fd493fc29fc0816cc4c06fa_1117x463.png) 最后点击`Generate the project 生成项目`将其下载的任意自己喜欢的文件夹,下载成后解压: ![](https://img.kancloud.cn/7c/7d/7c7dbdc9e859a4a378b2e7a1249ade19_427x111.png) Spring在推出最新的稳定的版本后,2.1.8版本将被最新的版本替换。为和教程达到一致,请[点击下载](https://yunzhiclub.github.io/springAndAngularGuide/helloWorld.zip)教程对应版本。 # 使用命令行启动项目 打开`shell`并进行到项目文件夹,比如: ``` panjiedeMac-Pro:springBootStudy panjie$ cd helloWorld panjiedeMac-Pro:helloWorld panjie$ ls HELP.md mvnw mvnw.cmd pom.xml src ``` ***** windows中使用`dir`来替待`ls`命令。如果想在windows中使用`unix`命令,可以参考[此文章](https://www.kancloud.cn/yunzhiclub/thinkphp5guide/169733)来安装`git`客户端。 ***** 执行`mvn spring-boot:run`命令来启动程序,此时`maven`将自动的为我们下载`spring boot`所依赖的其它包,下载成功后自动启动程序。当出现以下字样时表示启动成功: ``` 2019-09-19 09:44:40.169 INFO 10164 --- [ main] c.y.helloWorld.HelloWorldApplication : Started HelloWorldApplication in 2.11 seconds (JVM running for 96.448) ``` >[info] 和`npm`一样`maven`也依赖于较好的网络环境,如果在下载包的过程中,发生了超时或是其它异常情况,大多是由于网络原因造成的,则请参阅本节第5小节 ---- maven国内源配置。 使用`Ctrl-C`终止程序后(直接关闭shell也是可以的)我们继续学习。 >[info] 在实际的开发过程中往往为节电脑资源及系统启动时间,在开发前台时我们会使用命行的形式来启动后台。 # 在idea中启动项目 下面将展示如何使用IDEA来启动`Spring Boot`项目。 打开IDEA,点击`open`按钮并选择项目目录下的`pom.xml`文件。 ![](https://img.kancloud.cn/9e/22/9e2280bf163d0069e5e93c7dbdb74620_471x243.png) ![](https://img.kancloud.cn/0b/0a/0b0a56aa73955a46f4bb20d867069b60_419x143.png) 选择`Open as Project` **\[很重要\]** ![](https://img.kancloud.cn/8a/c1/8ac10c20f1d759297e7a846d7e859746_677x198.png) IDEA接下来会进行一些初始化的操作,比如进行项目索引,下载`maven`管理的包等。时间的长知取决于使用电脑的CPU频率(与核心数无关)及网络速度。初始化完成后,我们便可以点击右上方的运行按钮来启动项目了。 ![](https://img.kancloud.cn/f1/66/f1663ff4dfff4e36b6c151f2a46f7edb_612x65.png) ***** 如果发生了如下错误: ``` ************************* APPLICATION FAILED TO START *************************** Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured. Action: Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port. 2019-09-19 10:03:24.468 INFO 26811 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor' Process finished with exit code 1 ``` 则说明端口8080被占用了,请参考上一小节最后的内容,关闭命令行启动的程序后重新点击启动按钮。 ***** 系统成功启动后,控制台如下: ``` 2019-09-19 10:07:46.574 INFO 30351 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2019-09-19 10:07:46.577 INFO 30351 --- [ main] c.y.helloWorld.HelloWorldApplication : Started HelloWorldApplication in 1.535 seconds (JVM running for 2.016) ``` 简单解释一下: ``` 2019-09-19 10:07:46.574(574是ms 毫秒) 一般日志 进程号30351 [main线程]地球.中国.天津.河北工业大学.embedded.tomcat.TomcatWebServer : Tomcat服务于8080端口,上下文路径为'' 2019-09-19 10:07:46.577 一般日志 进程号30351 --- [main线程] 团队.云智.helloWorld.HelloWorldApplication : 启动HelloWorld应用程序花费了1.545秒(JVM已运行2.016秒) ``` >[success] `单位`: 小学时我们学过dm,cm,mm分别代表分米、厘米、毫米。所以`d`,`c`,`m`分别代表:`分`、`厘`、`毫`,即`0.1`, `0.01`, `0.001`。 > `日志等级`: 分为`error`错误,`warning`警告,`info`一般信息,`debug`调试信息,`trace`追踪执行。 点击停止按钮终止程序运行: ![](https://img.kancloud.cn/21/51/21518e676c7d14b8ccaa540a905466e5_634x60.png)