> PS:免费章节转载注明出处,本篇如果是收费章节禁止转载。违者必究。 作者:[字母哥博客](http://www.zimug.com) 本文出自:[springboot深入浅出系列](http://springboot.zimug.com) ## 一、使用IntellijIDEA建立第一个spring boot 项目 ![](https://img.kancloud.cn/9a/8b/9a8b4af4195dc59a7e32d2bc5b5eeaf1_794x643.png) 通常只有专业版付费版才默认带有Spring Initialzr(Spring Assistant)功能,如果你的IDEA没有这个选项。可以参照本文末尾《附文:Spring Initializr》 ![](https://img.kancloud.cn/9b/33/9b339a33c1199858f14db78eaf191ca7_787x643.png) 在这里可以选择我们需要依赖的第三方软件类库,包括spring-boot-starter-web,mysql驱动,mybatis等。我们这里暂时就只添加一个依赖`Spring Web`,我们后文手动添加其他的maven依赖,这样更有益于大家的理解。等你熟悉了maven依赖项,以后新建Spring Boot项目可以直接在这里勾选。 ![](https://img.kancloud.cn/c9/f2/c9f20bf28eddb23af7a10f4b569163d6_784x635.png) 项目创建过程可能因为maven依赖项较多,下载时间比较长,耐心等待。项目构建完成之后删掉下面的这几个文件,这几个文件是maven版本控制相关的文件。我们结合IDEA管理maven,一般来说这几个文件用不到。 ![](https://img.kancloud.cn/e6/0d/e60d6ec87550df6e910c7360d33f1f47_471x325.png) ## 二、Hello World示例程序 将application.properties改成application.yml。yml文件和properties配置文件具有同样的功能。二者的区别在于: * yml文件的层级更加清晰直观,但是书写时需要注意格式缩进对齐。yml格式配置文件更有利于表达复杂数据结构的配置。比如:列表,对象(后面章节会详细说明)。 * properties阅读上不如yml直观,好处在于书写时不用特别注意格式缩进对齐。 ``` server: port: 8888 # web应用服务端口 ``` 引入spring-boot-starter-web依赖(不需要加版本号,版本号由parent应用统一管理,霞下一节会介绍) ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 一个hello world测试Controller ``` @RestController public class HelloController { @RequestMapping("/hello") public String hello(String name) { return "hello world, " +name; } } ``` 启动服务实例测试一下 ![](https://img.kancloud.cn/55/bc/55bceb0aafbb31f83c8fd89818948d96_799x366.png) 启动日志: ![](https://img.kancloud.cn/de/4c/de4c2a2693b952674cb2e8f03bd96ae7_1840x984.png) 浏览器访问测试: ![](https://img.kancloud.cn/83/ad/83ad6ef9d851acd23be2f604cafe9aaa_708x130.png) ## 三、项目结构目录结构简介 ![](https://img.kancloud.cn/f2/e8/f2e8331e49ffdc5a35613d59c834ba88_460x429.png) 项目结构目录整体上符合maven规范要求: |目录位置|功能| |----------------|----------------| |src/main/java|项目java文件存放位置,初始化包含主程序入口 XxxApplication,可以通过直接运行该类来 启动 Spring Boot应用| |src/main/resources|存放静态资源,图片、CSS、JavaScript、web页面模板文件等| |src/test|单元测试代码目录| |.gitignore| git版本管理排除文件| |target文件夹|项目代码构建打包结果文件存放位置,不需要人为维护| |pom.xml |maven项目配置文件| |application.properties(application.yml)| 用于存放程序的各种依赖模块的配置信息,比如服务端口,数据库连接配置等| * src/main/resources/static主要用来存放css、图片、js等开发用静态文件 * src/main/resources/public用来存放可以直接用于访问的html文件 * src/main/resources/templates用来存放web开发模板文件 ## 附文:Spring Initializr 如果IDEA没有Spring Initializr选项,先去安装这个IDEA插件。 ![](https://img.kancloud.cn/18/02/18020125a14a10b09d0e1f5f545bcf3e_1297x836.png)