springboot 入门

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

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

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

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

二、spring boot 入门实例

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

创建maven项目

1、

springboot 入门

2、

springboot 入门

3、

springboot 入门

4、创建的目录结构

springboot 入门

配置pom文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<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>

<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>

创建controller

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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";
    }
}

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";
}
}

创建app启动类

1
2
3
4
5
6
7
8
9
10
11
12
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);
    }
}

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);
}
}

测试

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

springboot 入门

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

springboot 入门

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

启动log如下:

springboot 入门

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

springboot 入门

三、总结

从上述例子我们看到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.  并且不能正常启动

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

关注我们