
1.2 开发第一个Spring Boot程序
Spring Boot工程可以通过很多方式来创建,最通用的方式莫过于使用Maven了,因为大多数的IDE都支持Maven。
1.2.1 创建Maven工程
这里不过多说明,Maven的介绍和安装只介绍三种创建Maven工程的方式。
1. 使用命令创建Maven工程
首先可以通过Maven命令创建一个Maven工程,在cmd窗口中执行如下命令:

命令解释:
• -DgroupId 组织Id(项目包名)。
• -DartifactId ArtifactId(项目名称或者模块名称)。
• -DarchetypeArtifactId 项目骨架。
• -DinteractiveMode 是否使用交互模式。
使用命令将项目创建好之后,直接用Eclipse或者IntelliJ IDEA打开即可。
2. 在Eclipse中创建Maven工程
大部分的IDE工具都可以直接创建Maven工程。在Eclipse中创建Maven工程的步骤如下:
步骤01 创建项目时选择Maven Project,如图1-1所示。

图1-1
步骤02 选中Use default Workspace location复选框,如图1-2所示。

图1-2
步骤03 选择项目骨架,保持默认设置即可,如图1-3所示。

图1-3
步骤04 输入项目信息,如图1-4所示。

图1-4
完成以上4个步骤之后,单击Finish按钮即可完成项目创建。
3. 使用IntelliJ IDEA创建Maven工程
IntelliJ IDEA作为后起之秀,得到了越来越广泛的应用。使用IntelliJ IDEA创建Maven工程的步骤如下:
步骤01 创建项目时选择Maven,但是不必选择项目骨架,直接单击Next按钮即可,如图1-5所示。

图1-5
步骤02 输入组织名称、模块名称、项目版本号等信息,如图1-6所示。

图1-6
步骤03 选择项目位置,然后单击Finish按钮,完成项目创建,如图1-7所示。

图1-7
这里一共向读者介绍了三种创建Maven工程的方式,创建成功之后,接下来添加项目依赖。
1.2.2 项目构建
1. 添加依赖
首先添加spring-boot-starter-parent作为parent,代码如下:

spring-boot-starter-parent是一个特殊的Starter,提供了一些Maven的默认配置,同时还提供了dependency-management,可以使开发者在引入其他依赖时不必输入版本号,方便依赖管理。Spring Boot中提供的Starter非常多,这些Starter主要为第三方库提供自动配置,例如要开发一个Web项目,就可以先引入一个Web的Starter,代码如下:

2. 编写启动类
接下来创建项目的入口类,在Maven工程的java目录下创建项目的包,包里创建一个App类,代码如下:

代码解释:
• @EnableAutoConfiguration注解表示开启自动化配置。由于项目中添加了spring-boot-starterweb依赖,因此在开启了自动化配置之后会自动进行Spring和Spring MVC的配置。
• 在Java项目的main方法中,通过SpringApplication中的run方法启动项目。第一个参数传入App.class,告诉Spring哪个是主要组件。第二个参数是运行时输入的其他参数。
接下来创建一个Spring MVC中的控制器——HelloController,代码如下:

在控制器中提供了一个“/hello”接口,此时需要配置包扫描才能将HelloController注册到Spring MVC容器中,因此在App类上面再添加一个注解@ComponentScan进行包扫描,代码如下:

也可以直接使用组合注解@Spring BootApplication来代替@EnableAutoConfiguration和@ComponentScan,代码如下:

1.2.3 项目启动
启动项目有三种不同的方式,下面一一介绍。
1. 使用Maven命令启动
可以直接使用mvn命令启动项目,命令如下:

启动成功后,在浏览器地址栏输入“http://localhost:8080/hello”即可看到运行结果,如图1-8所示。

图1-8
2. 直接运行main方法
直接在IDE中运行App类的main方法,就可以看到项目启动了,如图1-9所示。

图1-9
启动成功后,也可以在浏览器中直接访问/hello接口。
3. 打包启动
当然,Spring Boot应用也可以直接打成jar包运行。在生产环境中,也可以通过这样的方式来运行一个Spring Boot应用。要将Spring Boot打成jar包运行,首先需要添加一个plugin到pom.xml文件中,代码如下:

然后运行mvn命令进行打包,代码如下:

打包完成后,在项目的target目录下会生成一个jar文件,通过java -jar命令直接启动这个jar文件,如图1-10所示。

图1-10
关于打包启动的详细配置,读者可以参考本书第15章。
经过1.2.1~1.2.3小节的操作之后,一个Spring Boot项目就构建好并成功启动了。