🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 一、搭建基础环境 ## 1. 下载、安装[**JDK**](www.oracle.com/technetwork/java/javase/downloads) 如果你还想尝鲜一下JDK9,请点[这里](https://jdk9.java.net/) ## 2. 下载、安装[**msys2**](http://msys2.github.io) ``` pacman -Syu pacman -S man-db ``` ## 3. 安装git ``` pacman -S git ``` ## 4. 下载、安装[**Maven**](http://maven.apache.org) * 配置maven仓库 ~~~ <!-- 设定除中央仓库(repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查找. --> <repositories> <!-- 如有Nexus私服, 取消注释并指向正确的服务器地址.--> <!--<repository> <id>nexus-snapshots-local</id> <name>Team Nexus Repository Local</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>nexus-snapshots</id> <name>Team Nexus Repository</name> <url>http://192.168.0.100:8081/nexus/content/repositories/snapshots/</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository>--> ~~~ * [扩展阅读][Maven实战(四)——基于Maven的持续集成实践](http://www.infoq.com/cn/articles/xxb-maven-4-ci/) * 如果有兴趣也可以尝试[Gradle](http://gradle.org/gradle-download/) * [Gradle 修改 Maven 仓库地址](http://www.tuicool.com/articles/363iy2n) ## 5. 安装SpringBoot CLI 安装 [SdkMan](http://sdkman.io/) ~~~ $ curl -s api.sdkman.io | bash ~~~ 或 ``` $ curl -s get.sdkman.io | bash ``` * 安装Spring Boot CLI ~~~ $ sdk install springboot ~~~ * 查看springboot CLI ``` $ sdk ls springboot ``` * [Spring Boot Reference Guide](http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-installing-spring-boot) * 验证spring是否安装成功: ``` $ spring --version ``` ## 6. 学习Spring Boot ### 6.1 构建REST服务1: 下载范例工程: ~~~ git clone https://github.com/qujian/spring-hello.git ~~~ 编译运行: ~~~ cd spring-hello mvn spring-boot:run ~~~ ### 6.1 构建REST服务2: 下载样板工程: ~~~ git clone https://github.com/spring-guides/gs-rest-service.git ~~~ 编译运行: ~~~ cd gs-rest-service/complete mvn package ~~~ 运行: ~~~ java -jar target/gs-rest-service-0.1.0.jar ~~~ 或 ~~~ mvn spring-boot:run ~~~ 测试: ~~~ curl http://localhost:8080/greeting ~~~ * [参考][深入学习微框架:Spring Boot](http://www.infoq.com/cn/articles/microframeworks1-spring-boot) * [Spring Boot 参考指南](https://www.gitbook.com/book/qbgbook/spring-boot-reference-guide-zh/details) ## 7. 安装Intellij Idea * 小提示 > Facets和Artifacts的区别: Facets表示这个module有什么特征,如Web,Spring和Hibernate等。 artifact这个和maven的概念一下,就是这个module要产出什么,war,jar还是ear。 在给项目配置Artifacts的时候有好多个type的选项,exploed是什么意思: explode 在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。 默认情况下,idea的modules和artifacts的output目录已经设置好了,不需要更改,打成war包的时候会自动在WEB-INF目录下生产classes目录,然后把编译后的文件放进去。 ## 8.关于MVC && MVP && MVVM * [三者之间的关系](http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html) * [另一篇介绍](http://objccn.io/issue-13-1/)