IDEA创建Spring Boot项目
创建流程
如果是新建项目,则执行如下步骤:菜单栏→File→New→Project。
如果是父子项目,则执行如下步骤:项目根目录右键→New→Module。
选择创建方式后,会弹出统一界面:
如无特殊条件默认即可,Next:
接下来就是关键点了,Spring Boot提供了各种模块供君选择,随着Spring Boot的日益壮大,已基本覆盖日常迭代所需:core,web,缓存,数据库均有,以及Spring Cloud全家桶。
没有想好也没有关系,Maven的特性(Gradle也是基于Maven)可以随时添加Spring Boot模块,Next。
填写项目本地存储目录名称,Finish。
一个Spring Boot项目即将诞生了。
注意事项
为什么说是即将诞生,因为这里很可能会有一个坑。添加后你会发现,即使设置成Maven项目目录结构后,引入也是失效的,解决办法如下:
可以看到,这里是灰色,是因为被忽略了。
接下来你就会发现,红色的错误一一消失。
如果发现maven projects里面什么都没有显示,那么添加创建项目的pom.xml文件即可,此种情况出现是因为Intellij IDEA并没有识别为maven项目。
maven创建Spring Boot项目
使用maven创建Spring Boot项目一般不会遇到如上坑坑相连的情形。
我们直接按照常规方式创建一个maven项目(类型自选)。
接下来我们就需要对pom.xml进行一些修改,纯天然Spring Boot项目需要引入如下系列依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我们的项目就会变成一个Spring Boot项目。当然,肯定不如IDE编辑器那么人性化,我们还需要自己手动创建application.yml或者是application.properties。
Spring Boot Demo
我们接下来看下Spring Boot目录结构:
关键点在于application.properties,这是Spring Boot默认读取的资源配置文件,Intellij IDEA默认生成properties格式的文件。但是官方建议采用Yaml格式的文件(关于Yaml的使用,请看笔者的另一篇文章)。
项目创建完成,我们当然要跑个Hello,XXX系列,在笔者的试用期间,很多Spring的注解均可以使用在Spring Boot上。
首先我们要写一个控制器——Controller:
/**
* Created by <sunshine> mysunshinedreams@163.com on 2017/7/4.
*/
@RestController
@SpringBootApplication
public class SunshineController {
@RequestMapping(value = {"/hello"})
public String hello(HttpServletRequest request, HttpServletResponse response) {
return "Hello, Spring Boot!";
}
public static void main(String[] args) {
SpringApplication.run(SunshineController.class, args);
}
}
本片文章只是初探,关于每个步骤的研究在细分到接下来的系列文章中。
其实代码写到这里,一个可运行的demo就已经完成了。
我们常规的运行一下,就像运行python脚本那样(在IDEA里面直接运行SunshineController类),观看下运行输出结果:
原来SpringBoot启动器默认使用Tomcat运行项目,并且默认的端口号是8080,并且启动速度很感人。
那么Tomcat藏在哪里呢?请看spring-boot-starter-web依赖,此依赖内置了Tomcat模块,所以我们启动时采用使用Tomcat。我们也可以引入Jetty等更多容器启动我们的项目。
接下来,我们在postman中进行请求:
又见Hello,XXX系列。
我们回过头看一下,即使是在Spring 4.x时代,我们也需要配置至少一个配置文件(或配置文件类)才可以写出一个Demo,
Spring Boot简化了这个过程,如果需要添加模块,直接添加maven依赖即可,这种插件化的开发模式,极大的提高了开发者的
开发效率。
接下来我们将对Spring Boot的使用一一举例,顺带一波源码分析,这样我们可以在实践中,道出Spring Boot与Spring Normal之间的异同。