spring boot 系列之一:spring boot 入门

时间:2022-05-23 06:18:56

最近在学习spring boot,感觉确实很好用,开发环境搭建和部署确实省去了很多不必须要的重复劳动。

接下来就让我们一起来复习下。

一、什么是spring boot ? spring boot是干嘛的?

  Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

二、spring boot 入门实例

  接下来将通过一个Hello 实例来看下怎么使用spring boot 搭建一个应用。

  1. 创建maven项目
    1. spring boot 系列之一:spring boot 入门
    2. spring boot 系列之一:spring boot 入门
    3. spring boot 系列之一:spring boot 入门
    4. 创建的目录结构spring boot 系列之一:spring boot 入门
  2. 配置pom文件
    <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>spring-boot</groupId>
    <artifactId>study</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!-- 指定parent项目 -->
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
    </parent> <properties>
    <!-- spring boot默认的jdk 版本为1.6,我们在这里改为1.8 -->
    <java.version>1.8</java.version>
    </properties> <dependencies>
    <dependency>
    <!-- 引入spring-boot-starter-web 依赖 -->
    <!-- 由于在spring boot 顶层POM文件中定义了相关dependencyManagement,因此这里就不需要配置 <version></version>,
    相关说明可以参考 https://blog.csdn.net/liutengteng130/article/details/46991829 -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency> </dependencies>
    </project>
  3. 创建controller
    package com.study.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController; /**
    * 这里@RestController = @ Controller + @ ResponseBody,
    *
    * 会将方法的返回结果直接放入http 返回报文的正文部分,直接显示到页面
    *
    */
    @RestController
    public class HelloController { @RequestMapping("/hello")
    public String sayHello() {
    return "hello ,spring boot";
    }
    }
  4. 创建app启动类
    package com.study;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
    public class App { public static void main(String[] args) {
    SpringApplication.run(App.class, args);
    }
    }
  5. 测试

    1.上述步骤完成之后,还有一个错误需要解决,根据其提示进行修复即可

    spring boot 系列之一:spring boot 入门

    2.最终的目录结构如下:

    spring boot 系列之一:spring boot 入门

    3.运行App的main 方法:Run As-->Java Application

    启动log如下:  spring boot 系列之一:spring boot 入门

    4.通过浏览器访问,正常返回controller中的配置内容

    spring boot 系列之一:spring boot 入门

三、总结

从上述例子我们看到spring boot默认替我们做了一些操作

  1. 嵌入的Tomcat,无需部署WAR文件,默认端口号为8080
  2. 简化Maven配置,自动为我们引入依赖
  3. 自动配置Spring,省去了我们配置spring xml文件的麻烦
  4. 默认我们的项目命名空间为"/"
  5. 还有一个比较重要但是例子中未能显示体现出来的是:spring boot 默认自动扫描 配置了@SpringBootApplication注解的类所在的包及其子包,并且这个类不能放在默认包下,否则会报错

    ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.  并且不能正常启动。