天天看点

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

SpringBoot2.X最佳实践 

前言

本系列文章,从零基础接触  SpringBoot2.x新版本,基础入门使用,热部署,到整合各个主流框架Redis4.x,消息队列AciveMQ, RocketMQ等,搜索框架ElasticSearch5.6版本,到web-flux反应式编程,到Actuator监控应用信息,官方最佳实践,最全的SpringBoot2.教程

技术选型和更新须知:

采用最新的SpringBoot2.x版本

JDK1.8

IDEA或者Eclipse编辑器

Maven3.x版本

其他框架比如分布式缓存Redis,搜索框架ElasticSearch,消息队列RocketMQ和ActiveMQ等,均采用目前最新的版本

资料和开发工具准备:

JDK1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Maven3.x下载:http://maven.apache.org/download.cgi

SpringBoot2.x官方文档: https://spring.io/projects/spring-boot#overview

SpringBoot是什么?

      学过javaweb的同学就知道,开发一个web应用,从最初开始接触Servlet结合Tomcat, 跑出一个Hello Wolrld程序,是要经历特别多的步骤; 后来就用了框架Struts,再后来是SpringMVC,到了现在的SpringBoot,过一两年又会有其他web框架出现;不知道你们有没经历过框架不断的演进,然后自己开发项目所有的技术也再不断的变化、改造,反正我是都经历过了,哈哈。

      言归正传,什么是SpringBoot呢,就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置,you can "just run",能迅速的开发web应用,几行代码开发一个http接口。

快速创建SpringBoot2.x应用

      学任何框架,都从hello world开始,这个也不例外,我们先创建一个http接口,返回json数据。SpringBoot官方提供了一个快速创建应用的工具“Spring Initializr” 

地址:http://start.spring.io

通过这个可以帮我们生成一个项目的基础框架和目录规范,操作如下图的顺序

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

1

1、下载后导入到IDEA或者Eclipse里面,springboot默认加入了很多依赖包,所以需要从远端的maven仓库下载下来,初次导入需要下载很多的依赖包,会比较慢,不过也可以更改Maven仓库地址为国内的的仓库地址。

2

2、官方包目录接口说明

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

3

3、Maven依赖文件讲解

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

核心配置文件在图片上面,底部有很多暂时用不上的配置,比如仓库地址可以去除,下面的pom文件的都可以去除

1<repositories>
 2        <repository>
 3            <id>spring-snapshots</id>
 4            <name>Spring Snapshots</name>
 5            <url>https://repo.spring.io/snapshot</url>
 6            <snapshots>
 7                <enabled>true</enabled>
 8            </snapshots>
 9        </repository>
10        <repository>
11            <id>spring-milestones</id>
12            <name>Spring Milestones</name>
13            <url>https://repo.spring.io/milestone</url>
14            <snapshots>
15                <enabled>false</enabled>
16            </snapshots>
17        </repository>
18    </repositories>
19
20    <pluginRepositories>
21        <pluginRepository>
22            <id>spring-snapshots</id>
23            <name>Spring Snapshots</name>
24            <url>https://repo.spring.io/snapshot</url>
25            <snapshots>
26                <enabled>true</enabled>
27            </snapshots>
28        </pluginRepository>
29        <pluginRepository>
30            <id>spring-milestones</id>
31            <name>Spring Milestones</name>
32            <url>https://repo.spring.io/milestone</url>
33            <snapshots>
34                <enabled>false</enabled>
35            </snapshots>
36        </pluginRepository>
37    </pluginRepositories>      

(向右滑动可查看代码)

编写Http接口

1

1、新建一个包,domian用于存放实体类,并新建一个User.java类

1package net.xdclass.demo.domain;
 2/**
 3 * 用户类
 4 */
 5public class User {
 6    private int id;
 7    private String name;
 8    public int getId() {
 9        return id;
10    }
11    public void setId(int id) {
12        this.id = id;
13    }
14
15    public String getName() {
16        return name;
17    }
18    public void setName(String name) {
19        this.name = name;
20    }
21}      

2

2、新建一个Controller,并建立一个UserController.java, 类加入注解@RestController (用于返回Json数据,如果用@controller的话,需要在加个@responseBody,才会返回json数据),新建一个findUser方法,方法上加个注解,@RequestMapping("find")

1package net.xdclass.demo.controller;
 2
 3import net.xdclass.demo.domain.User;
 4import org.springframework.web.bind.annotation.RequestMapping;
 5import org.springframework.web.bind.annotation.RestController;
 6
 7/**
 8 * 使用 @RestController 定义一个控制器
 9 */
10@RestController
11public class UserController {
12
13    /**
14     * 定义一个接口,接受两个参数
15     * @param id
16     * @param name
17     * @return
18     */
19    @RequestMapping("find")
20    public User findUser(int id, String name){
21        User user = new User();
22        user.setName(name);
23        user.setId(id);
24        return user;
25    }
26}      

(向右滑动可查看代码)

3

3、使用CMD或者命令行工具进入项目根目录,把应用打包成一个可执行的jar包, 执行maven打包命令 mvn clean package 

1[INFO]
 2[INFO] Results:
 3[INFO]
 4[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
 5[INFO]
 6[INFO]
 7[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo ---
 8[INFO] Building jar: /Users/xdclass/Desktop/文章/第一篇/demo/target/demo-0.0.1-SNAPSHOT.jar
 9[INFO]
10[INFO] --- spring-boot-maven-plugin:2.0.3.RELEASE:repackage (default) @ demo ---
11[INFO] ------------------------------------------------------------------------
12[INFO] BUILD SUCCESS
13[INFO] ------------------------------------------------------------------------
14[INFO] Total time: 5.459 s
15[INFO] Finished at: 2018-07-16T08:34:57+08:00
16[INFO] ------------------------------------------------------------------------      

(向右滑动可查看代码)

打包成功后最后会出现一个success,然后进入target目录,里面有个xxx.jar  (xxx就是项目的名字)就是可以直接执行的jar包.

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

启动  java -jar xxxx.jar, 启动大概花10来秒,底部可以看到启动成功的日志,springboot默认端口是8080, 所以可以直接访问

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

接口地址:http://localhost:8080/find?id=1&name=二当家小D

响应一个user对象,就成功了。

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

这就是一个成功的http接口,一个web应用就可以正常启动了访问和访问了,如果要开发其他接口,继续写就可以了。

下一系列文章

讲解Springboot2.x启动流程和常用的注解

官方推荐的目录规范

1

END

1

更多精彩干货

可在公众号输入“干货”即可免费获取

包含前端后端和测试,系统架构,高并发处理,优化等干货

SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验
SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验
SpringBoot2.X最佳实践《一》 之 SpringBoot2.x初体验

若有技术难题

可联系小编进技术交流群

若有生活难题

也可联系小编

我们可以从诗词歌赋聊到人生哲学

继续阅读