SpringBoot快速入门

SpringBoot快速入门

1.首先来了解一下一些关于SpringBoot的特性

什么是Spring Boot:
官方介绍:Spring Boot 可以构建一切。Spring Boot 设计之初就是为了用最少的配置,以最快的速度来启动和运行 Spring 项目。Spring Boot 使用特定的配置来构建生产就绪型的项目

Spring Boot 特性

  • 使用 Spring 项目引导页面可以在几秒构建一个项目;
  • 方便对外输出各种形式的服务,如 REST API、WebSocket、Web、Streaming、Tasks;
  • 非常简洁的安全策略集成;
  • 支持关系数据库和非关系数据库;
  • 支持运行期内嵌容器,如 Tomcat、Jetty;
  • 强大的开发包,支持热启动;
  • 自动管理依赖;
  • 自带应用监控;
  • 支持各种 IDE,如 IntelliJ IDEA、NetBeans。
2.创建SpringBoot项目

我们有二种方式来构建Spring Boot项目基础框架
第一种是使用Spring官方提供的构建页面

  • 访问http://statrt.spring.io/ 网址
  • 选择构建工具 Maven Project,编程语言选择 Java,Spring Boot 版本2.0.5以及一些工程基本信息
  • 单击Generate Project下载解压压缩包
  • 解压后,使用IDEA导入项目

第二种使用IDEA构建

  • 选择File|New|project…命令,弹出新建项目的对话框
  • 选择Spring Initialize,Next 也会出现上述类似的配置页面,IDEA帮我们做了集成
  • 填写相关内容后,单击 Next 按钮,选择依赖的包再单击 Next 按钮,最后确定信息无误单击 Finish 按钮
    对上面的配置做如下解释
  • 第一个选择框选择创建以 Maven 构建项目,还是以 Gradle 构建项目,这是两种不同的构建方式,其中 Gradle 配置内容更简洁一些,并且包含了 maven 的使用,但我们日常使用 maven 居多。
  • 第二个选择框选择编程语言,现在支持 Java、Kotlin 和 Groovy。
  • 第三个选择框选择 Spring Boot 版本,可以看出 Spring Boot 2.0 的最新版本是 2.0.5。
    配置信息
  • Group,一般填写公司域名,比如百度公司就会填:com.baidu,演示使用 com.neo。
  • Artifact,可以理解为项目的名称了,可以根据实际情况来填,本次演示填 hello。
  • Dependencies,在这块添加我们项目所依赖的 Spring Boot 组件,可以多选,本次选择 Web、Devtools 两个模块。
    Spring Boot的基础构建共三个文件,具体如下
  • src/main/java:程序开发以及主程序入口;
  • src/main/resources:配置文件;
  • src/test/java:测试程序。

Spring Boot 建议的目录结构如下

    myproject
    +-src
    +- main
        +- java
             +- com.example.myproject
                   +- comm
                   +- model
                   +- repository
                   +- service
                   +- web
                   +- Application.java
        +- resources
             +- static
             +- templates
             +- application.properties
    +- test
    +-pom.xml

com.example.myproject 目录下:

  • Application.java,建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 main() 方法;
  • comm 目录建议放置公共的类,如全局的配置文件、工具类等;
  • model 目录主要用于实体(Entity)与数据访问层(Repository);
  • repository 层主要是数据库访问层代码;
  • service 层主要是业务类代码;
  • web 层负责页面访问控制。
    resources 目录下:
  • static 目录存放 web 访问的静态资源,如 js、css、图片等;
  • templates 目录存放页面模板;
  • application.properties 存放项目的配置信息。
    test 目录存放单元测试的代码;pom.xml 用于配置项目依赖包,以及其他配置。
    采用默认配置可以省去很多设置,也可以根据公司的规范进行修改,至此一个 Java 项目搭建好了!

Pom 包介绍
pom.xml 文件主要描述了项目包的依赖和项目构建时的配置,在默认的 pom.xml 包中分为四大块。
第一部分为项目的描述信息:

<groupId>com.neo</groupId>
<artifactId>hello</artifactId>
<version>2.0.5.RELEASE</version>
<packaging>jar</packaging>

<name>hello</name>
<description>Demo project for Spring Boot</description>
  • groupId,项目的包路径;
  • artifactId,项目名称;
  • version,项目版本号;
  • packaging,一般有两个值:jar、war,表示使用 Maven 打包时构建成 Jar 包还是 War 包;
  • name,项目名称;
  • description,项目描述。

第二部分为项目的依赖配置信息:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</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-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
  • parent,标签内配置 Spring Boot 父级版本 spring-boot-starter-parent,Maven 支持项目的父子结构,引入父级后会默认继承父级的配置;
  • dependencies,标签内配置项目所需要的依赖包,Spring Boot 体系内的依赖组件不需要填写具体版本号,spring-boot-starter-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>

上面配置了项目构建时所使用的编码,输出所使用的编码,最后指定了项目使用的 JDK 版本。

第四部分为构建配置:

<build>
<plugins>
<plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

使用 Maven 构建 Spring Boot 项目必须依赖于 spring-boot-maven-plugin 组件,spring-boot-maven-plugin 能够以 Maven 的方式为应用提供 Spring Boot 的支持,即为 Spring Boot 应用提供了执行 Maven 操作的可能。spring-boot-maven-plugin 能够将 Spring Boot 应用打包为可执行的 jar 或 war 文件,然后以简单的方式运行 Spring Boot 应用。
以上即为 pom.xml 文件基础内容,几乎所有的 Spring Boot 项目都会用到以上配置信息。

创建SpringBoot项目的步骤图(在有网络连接的情况下)

第一步:
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:
在这里插入图片描述
第四步:
在这里插入图片描述
第五步:
在这里插入图片描述

项目搭建好了,来一个hello world 感受感受

(1)可以在 Spring Initializr 上面添加,也可以手动在 pom.xml 中添加如下代码:

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>

pom.xml 文件中默认有个模块:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
  • test,表示依赖的组件仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包包含进去;
  • spring-boot-starter-test 是 Spring Boot 提供项目测试的工具包,内置了多种测试工具,方便我们在项目中做单元测试、集成测试。

(2)编写 Controller 内容

在目录 src\main\java\com\neo\web 下创建 HelloController:

@RestController
public class HelloController {

@RequestMapping("/hello")
public String hello() {
   return "hello world";
}

}
  • @RestController 的意思是 Controller 里面的方法都以 JSON 格式输出,不需要有其他额外的配置;如果配置为 @Controller,代表输出内容到页面。
  • @RequestMapping("/hello") 提供路由信息,"/hello" 路径的 HTTP Request 都会被映射到 hello() 方法上进行处理。

(3)启动主程序
右键单击项目中的 HelloApplication | run 命令,就可以启动项目了,若出现以下内容表示启动成功:

2018-09-19 13:33:57.801  INFO 32996 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-09-19 13:33:57.802  INFO 32996 --- [  restartedMain] com.neo.hello.HelloApplication           : Started HelloApplication in 0.88 seconds 

如果启动过程中出现 java ClassNotFoundException 异常,请检查 Maven 配置是否正确
Spring Boot 还提供了另外两种启动项目的方式:

  • 在项目路径下,使用命令行 mvn spring-boot:run 来启动,其效果和上面“启动主程序”的效果是一致的;
  • 或者将项目打包,打包后以 Jar 包的形式来启动。
# 进行项目根目录
cd ../hello
# 执行打包命令
mvn clean package
# 以 Jar 包的形式启动
java -jar target/hello-0.0.1-SNAPSHOT.jar

启动成功后,打开浏览器输入网址:http://localhost:8080/hello,就可以看到以下内容了:

hello world

最后再来个小补充

创建SpringBoot项目需要有网络,万一有一天我没有网络了怎么办?不要慌,这里还有一种解决方案,使用maven工程构建SpringBoot项目

第一步:
在这里插入图片描述
第二步:
在这里插入图片描述
第三步:
在这里插入图片描述
第四步
在这里插入图片描述

注意:

我在pom.xml文件中只引入了两个依赖,其实可以引入很多你需要的依赖

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值