Spring Boot入门

1.配置开发环境

  • 安装jdk(需要1.8及以上版本),可以从java的官网http://www.oracle.com/technetwork/java/javase/downloads/index.html下载安装包
  • 安装完成后,配置环境变量;加入到系统的环境path中。完成后,打开一个命令行窗口;输入命令
    java -version,若能正确输出版本号;说明安装成功。版本信息如下
image.png
  1. 安装IntelliJ IDEA
  • IDEA需要14.0以上的版本,可以从官网 http://www.jetbrains.com/下载免费版,IDEA已经包含Maven插件。
  1. 安装Apache Maven
  • 为了能在命令行窗口中使用Maven来管理工程,可以安装一个Maven管理工具。Maven官网地址http://maven.apache.org/download.cgi 下载3.0.5以上的版本,下载完后解压缩即可。然后将Maven的安装路径也加入到Windows的环境变量中。安装完成后在命令行执行指令: mvn -v将输出如下信息。
image.png

建议更改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自带的版本。

  1. 安装Git客户端
    在GitHub中免费注册一个用户(可以通过E-mail直接注册免费用户),以方面在IDEA中从GitHub检出实例工程。GitHub是世界级的代码库服务器,如图是GitHub的首页。
image.png

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客户端的配置。如图

image.png

如果已经在GitHub中注册了用户,打开如图GitHub的配置,输入用户名和密码,然后单击Test,如果设置正确的话将返回连接成功的提示。

image.png
  1. 创建项目工程

现在可以尝试使用IDEA来创建一个项目工程。如果是第一次打开IDEA,可以选择 Create New Project 。如果已经打开了IDEA,在file菜单中选择New Project也能打开New Project对话框,使用Maven和Spring Initializr这两种方法来创建一个新项目。

  • 使用Maven新建项目
image.png

在上图中的Project SDK下拉列表中选择前面安装的java 1.8,如果下拉列表中不存在java 1.8 可以单击new 按钮,找到安装java的位置,选择他。然后在侧边栏的项目类型中,选择Maven项目,即可使用Maven作为项目的管理工具。至于Maven中的archetype,因为我们并不打算使用其中任何一种类型,所以不用勾选。然后下一步:

  • 输入GroupId和ArtifactId
    在GroupId输入框中输入“springboot.example” 在ArtifactId输入框中输入“spring-boot-hello”,version输入框中保持默认值。如图
image.png
  • 指定项目名称和存放路径
    在Project location编辑框中选择和更改存放路径,在Project name输入框中输入与ArtifactId相同的项目名称,如图:
image.png

单击Finish,完成项目创建,这样将在当前窗口中打开一个新项目。其中在工程目录中生成了一个pom.xml文件,既Maven的项目对象模型(Project Object Model )并生成了源代码目录java、资源目录resource和测试目录test等,既生成了一个项目的一些初始配置和目录结构。

image.png

使用Spring Initializr新建项目
新建一个Spring Boot项目,也可以使用Spring Initializr的方式,这种方式很简单,如图

image.png

注意Initializr Service URLhttps://start.spring.io/ ,这将会连接网络,以查询Spring Boot的当前可用版本和组建列表。使用这种方式新建项目的三个步骤:

  1. 选择类型:注意Type为Maven Project ,java Version 为 1.8,Packing为jar,如图所示
image.png
  1. 选择Spring Boot版本和组件:例如,在Spring Boot Version 中选择1.5.12,并勾选web项目组件。
image.png
  1. 输入项目名称,这里使用demo作为项目的名称。
image.png

单击finish,将创建一个初始化项目如图;这个项目不但有完整的目录结构,还有一个完整的Maven配置,并且生成了一个默认 的主程序,几乎所有的准备工作已经就绪,并且可以立即运行起来(虽然没有提供任何可用的服务)这也是Spring Boot引以为傲的地方,既创建一个应用不用编写任何代码。只管运行即可。

image.png
  1. 使用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项目可能需要用到的东西。

  1. 一个简单的实例

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。如图

image.png

然后选择Run或Debug运行hello配置项目。如果启动成功,在控制台输出如下信息:

image.png

Tomcat默认开启了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以上的版本。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,732评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,591评论 18 139
  • 1. SpringBoot介绍 Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更...
    engine_xc阅读 750评论 0 1
  • 文/朵朵鱼 苏子叶,苏州人士,生于钟鸣鼎食之家。幼时心思机敏,聪明伶俐。凡四书五经及诸子百家学说,过目者皆不忘。先...
    朵朵鱼阅读 1,201评论 28 29
  • 韦老师第八讲中提到了很多例子,老汉粘蝉、跳水的水花、歌手与艺术家、豆子原理、李小龙、小混混与少林寺学徒比武、金庸小...
    精神灿烂阅读 273评论 0 0