Spring Boot入门
1.配置开发环境
- 安装jdk(需要1.8及以上版本),可以从java的官网
http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载安装包 - 安装完成后,配置环境变量;加入到系统的环境path中。完成后,打开一个命令行窗口;输入命令
java -version
,若能正确输出版本号;说明安装成功。版本信息如下
- 安装IntelliJ IDEA
- IDEA需要14.0以上的版本,可以从官网
http://www.jetbrains.com/
下载免费版,IDEA已经包含Maven插件。
- 安装Apache Maven
- 为了能在命令行窗口中使用Maven来管理工程,可以安装一个Maven管理工具。Maven官网地址
http://maven.apache.org/download.cgi
下载3.0.5以上的版本,下载完后解压缩即可。然后将Maven的安装路径也加入到Windows的环境变量中。安装完成后在命令行执行指令: mvn -v将输出如下信息。
建议更改IDEA中Maven资源库的存放路径,可以先在Maven安装路径中创建一个资源库目录,如repository。然后打开Maven的配置文件,既安装目录conf中的setting.xml ,找到如下代码,将路径更改为repository所在的位置。
找到下列代码:
<localRepository>/path/to/local/repo</localRepository>
复制出来改为如下所示:
<localRepository>D:\maven_repertory</localRepository>
改好后可以拷贝一份setting.xml 放置在${user.home}/.m2/下面,这样做可以不用修改IDEA的Maven这个配置。如图所示Maven的配置界面中,User Settings File保持了默认配置,而Local Repository 使用了上面设置的路径D:\maven_repertory,而Maven程序还是使用了IDEA自带的版本。
- 安装Git客户端
在GitHub中免费注册一个用户(可以通过E-mail直接注册免费用户),以方面在IDEA中从GitHub检出实例工程。GitHub是世界级的代码库服务器,如图是GitHub的首页。
IDEA还需要Git客户端程序的支持。可以从官网https://git-scm.com/download/
下载Git客户端安装包。安装非常简单,按提示单击“下一步”并选择好安装路径即可。安装完成后,在windows的资源管理器中,单击鼠标右键弹出的菜单中将会多出如下几个选择菜单。
Git Init Here
Git Gui
Git Bash
其中Git Bash是一个带有UNIX指令的命令行窗口,在这里可以执行一些Git指令,用来提交或者检出项目。
在IDEA中对Git 的设置,只要指定git.exe执行文件的位置即可。IDEA中Git客户端的配置。如图
如果已经在GitHub中注册了用户,打开如图GitHub的配置,输入用户名和密码,然后单击Test,如果设置正确的话将返回连接成功的提示。
image.png- 创建项目工程
现在可以尝试使用IDEA来创建一个项目工程。如果是第一次打开IDEA,可以选择 Create New Project 。如果已经打开了IDEA,在file菜单中选择New Project也能打开New Project对话框,使用Maven和Spring Initializr这两种方法来创建一个新项目。
- 使用Maven新建项目
在上图中的Project SDK下拉列表中选择前面安装的java 1.8,如果下拉列表中不存在java 1.8 可以单击new 按钮,找到安装java的位置,选择他。然后在侧边栏的项目类型中,选择Maven项目,即可使用Maven作为项目的管理工具。至于Maven中的archetype,因为我们并不打算使用其中任何一种类型,所以不用勾选。然后下一步:
- 输入GroupId和ArtifactId
在GroupId输入框中输入“springboot.example” 在ArtifactId输入框中输入“spring-boot-hello”,version输入框中保持默认值。如图
- 指定项目名称和存放路径
在Project location编辑框中选择和更改存放路径,在Project name输入框中输入与ArtifactId相同的项目名称,如图:
单击Finish,完成项目创建,这样将在当前窗口中打开一个新项目。其中在工程目录中生成了一个pom.xml文件,既Maven的项目对象模型(Project Object Model )并生成了源代码目录java、资源目录resource和测试目录test等,既生成了一个项目的一些初始配置和目录结构。
image.png使用Spring Initializr新建项目
新建一个Spring Boot项目,也可以使用Spring Initializr的方式,这种方式很简单,如图
注意Initializr Service URL为
https://start.spring.io/
,这将会连接网络,以查询Spring Boot的当前可用版本和组建列表。使用这种方式新建项目的三个步骤:
- 选择类型:注意Type为Maven Project ,java Version 为 1.8,Packing为jar,如图所示
- 选择Spring Boot版本和组件:例如,在Spring Boot Version 中选择1.5.12,并勾选web项目组件。
- 输入项目名称,这里使用demo作为项目的名称。
单击finish,将创建一个初始化项目如图;这个项目不但有完整的目录结构,还有一个完整的Maven配置,并且生成了一个默认 的主程序,几乎所有的准备工作已经就绪,并且可以立即运行起来(虽然没有提供任何可用的服务)这也是Spring Boot引以为傲的地方,既创建一个应用不用编写任何代码。只管运行即可。
image.png- 使用Spring Boot
任何应用的开发都需要对项目创建,运行和发布等进行管理。使用Spring Boot框架进行开发,可以选择使用Maven 和Gradle等项目管理工具。我们使用Maven。
-
Maven依赖管理
使用Maven,通过导入Spring Boot的starter模块,可以将许多程序依赖包自动导入工程中,使用Maven的POM,还可以更容易的管理依赖的版本和使用默认的配置,工程中的模块也可以很方便的继承它。例如:修改pom.xml文件,基本上就能为一个Spring Boot开发框架web项目开发提供所需要的依赖。<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>springboot.example</groupId> <artifactId>spring-boot-hello</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.12.BUILD-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent> <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> </project>
这里使用了一个依赖配置spring-boot-starter-web和一个parent配置spring-boot-starter-parent ,在工程的外部库列表中,Spring Boot已经导入了整个springframework依赖,以及autoconfigure、logging、slf4j、jackson、tomcat插件等,所有这些都是一个web项目可能需要用到的东西。
- 一个简单的实例
Spring Boot的官方文档中提供了一个最简单的web实例程序。
核心代码如下:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
@RequestMapping
String home(){
return "hello";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
这个简单实例,首先是一个Spring Boot应用的程序入口,或者叫做主程序,其中使用了一个注解@SpringBootApplication 来标注它是一个Spring Boot应用,main方法,使他成为一个主程序,将在应用启动时首先被执行。其次,注解@RestController同时标注这个程序还是一个控制器。如果在浏览器中访问应用的根目录,他将调用home方法,并输出字符串:hello。
在IDEA环境中运行。
在IDEA中打开Run菜单,选择Edit Configuration打开Run/Debug configurations 对话框,在配置界面的左边侧边栏中选择添加一个Application或Spring Boot配置项目,然后在工作目录中选择工程所在的根目录,主程序代码springboot.example.Application,并将配置保存为hello。如图
然后选择Run或Debug运行hello配置项目。如果启动成功,在控制台输出如下信息:
image.pngTomcat默认开启了8080端口,要访问这个应用提供的服务,可以在浏览器中输入:http://localhost:8080/;可以看到我们写的输出字符串:hello
将应用打包发布
上面操作在IDEA环境中如何运行一个应用。如果我们 想把应用发布出去,可以在代码清单中Maven配置增加一个发布插件来实现,增加一个打包插件:spring-boot-maven-plugin,并增加一行打包的配置:<packaging>jar</packaging>这行配置指定将应用工程打包成jar文件。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
这样就可以在IDEA中增=增加一个打包的配置,打开Run/Debug Configuration对话框,选择增加配置一个Maven打包项目,在工作目录中选择工程所在根目录,在命令行中出入package,并将配置保存为mvn如图:
image.png运行mvn打包项目,就可以将实例工程打包,打包的文件将输出在工程的target目录中。
image.png如果已经安装了Maven,也可以直接使用Maven的命令打包。打开一个命令行窗口,将路径切换到工程根目录中,直接在命令行输入mvn package,同样也能将项目打包成jar文件。
打包成功后,在工程的target目录中将会生成jar文件demo-0.0.1-SNAPSHOT.jar。在命令行窗口中切换到target目录中,运行如下指令,就能启动应用。
java -jar demo-0.0.1-SNAPSHOT.jar
如果按照传统的做法,将工程发布成war文件,应该将代码清单中Maven配置<packaging>jar</packaging>改成<packaging>war</packaging>这样就可以打包成war文件。
注意:
如果自主使用Tomcat运行应用,在安装jdk时必须配置*JAVA_HOME环境变量,同时jdk版本1.8以上。Tomcat必须是8.0以上的版本。
- 邮箱:ithelei@sina.cn
- 技术讨论群:687856230
- GoodLuck