1、基本概念

Spring的出现对于企业级应用来说是一个福音,它让企业级应用开发更加地简单。但是随着Spring的不断发展,它也慢慢变得越来越重。即使apache出品的maven工具能够使得项目创建、管理更加地轻便,但对于开发人员来说依旧存在负担:

1)不得不处理xml等配置文件;

2)不得补处理各种依赖包;

而Spring的作者们也意识到了这一点,于是Springboot出现了。

Springboot出现的意义就在于快速创建并运行一个应用程序,如果之前我们需要十分钟去创建一个简单的spring项目,那么现在我们只需要十几秒钟就能创建一个springboot的应用程序。

2、环境

本文编写的时候,springboot的稳定版本是:2.0.1;

它需要:

1)JDK1.8+;

2)maven3.2+或gradle4+;

3) spring framework 5.0.5.release;

开发工具使用:

1)intellij IDEA;

2) Spring tool suite(STS);

3、构建Spring应用

1)打开IDEA开发工具,默认带了STS套件;

2)new -> project -> Spring Initializer -> next -> 填写项目信息 -> 勾选web -> 填写项目名称和路径 -> finish

当maven处理完毕,一个简单的Springboot项目就已经构建好了。

4、测试

我们在类路径下编写一个controller

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class SampleController { @RequestMapping(value = "hello")
public String hello(){
return "Hello World";
}
}

运行main方法启动程序

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class SpringbootApplication { public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}

控制台上看到,我们在8080端口下tomcat运行成功了(备注:springboot2.0.1内置了tomcat8.5,servlet版本是3.1我们并不需要去配置本机的tomcat)

Tomcat started on port(s): 8080 (http) with context path ''
2018-04-14 22:06:26.584 INFO 16752 --- [main] cn.lay.SpringbootApplication: Started SpringbootApplication in 6.587 seconds (JVM running for 8.949)

在浏览器输入

http://localhost:8080/hello

显示

Hello World

一个简单的基于springboot的web应用程序就完成了

5、打为jar包运行

pom.xml 文件的打包声明为:

<packaging>jar</packaging>

打包插件为:

<!-- Package as a executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

我们运行maven的package命令,在编译目录下打包出了一个jar文件;

我们使用命令java -jar 文件名.jar 运行该jar文件(也可以直接使用IDEA开发工具运行)

运行成功以后,浏览器输入http://localhost:8080/hello测试;

最后使用ctrl + c 退出运行

一、快速构建Springboot应用的更多相关文章

  1. 【spring-boot】快速构建spring-boot微框架

    spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...

  2. Springboot(一):使用Intellij中的Spring Initializr来快速构建Spring Boot工程

    使用Intellij中的Spring Initializr来快速构建Spring Boot工程 New---Project 可以看到图所示的创建功能窗口.其中Initial Service Url指向 ...

  3. springboot:快速构建一个springboot项目

    前言: springboot作为springcloud的基础,springboot的热度一直很高,所以就有了这个springboot系列,花些时间来了解和学习为自己做技术储备,以备不时之需[手动滑稽] ...

  4. SpringBoot系列——快速构建项目

    前言 springboot官方参考指南:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/ Spri ...

  5. 带你十分钟快速构建好 SpringBoot + SSM 框架

    目前最主流的 java web 框架应该是 SSM,而 SSM 框架由于更轻便与灵活目前受到了许多人的青睐.而 SpringBoot 的轻量化,简化项目配置, 没有 XML 配置要求等优点现在也得到了 ...

  6. 快速构建一个 Springboot

    快速构建一个 Springboot 官网:http://projects.spring.io/spring-boot/ Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring ...

  7. SpringBoot:使用IDEA快速构建项目

    西部开源-秦疆老师:基于SpringBoot 2.1.6 的博客教程 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! SpringBoot ...

  8. SpringBoot 快速构建微服务体系 知识点总结

    可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽 ...

  9. 基于Swagger+SpringBoot快速构建javaweb项目

    章节导航 SpringBoot&Swagger简介 数据模型和接口定义 项目框架生成 业务逻辑实现 项目源码地址 github项目路径:https://github.com/Vikezhu/s ...

随机推荐

  1. 深入了解java虚拟机(JVM) 第六章 垃圾回收算法

    一.标记清除算法 标记清除算法顾名思义,就是将需要回收的对象进行标记,然后进行清除.那么这个算法就有标记和清除两种过程.标记过程主要是通过可达性分析算法进行判断存活对象,然后遍历所有的对象来找到需要回 ...

  2. css3边角旋转

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 集合的addAll方法--list.addAll(null)会报错--java.lang.NullPointerException

    Exception in thread "main" java.lang.NullPointerException at java.util.ArrayList.addAll(Ar ...

  4. [ActionScript 3.0] AS3 绘制任意三角形任意顶点到对边的高

    注:顶点坐标可以点击 package { import flash.display.Shape; import flash.display.Sprite; import flash.events.Mo ...

  5. Postman使用手册3——环境变量

    一.环境变量 当使用API的时候,你可能经常需要使用不同的设置.环境设置可以让你使用变量自定义request.这个方法可以让你轻松的在不同的设置之间改变而不用改变你的request.你不需要担心要记住 ...

  6. 977 AlvinZH过生日(背包DP大作战S)

    977 AlvinZH过生日 思路 难题.逆推DP. 要明确dp的状态只与是否有选择权有关,而与选择权在谁手里无关.因为不论选择权在谁手里,那个人都会尽可能的获得最大的蛋糕重量. dp[i]表示分配到 ...

  7. 剑指offer——面试题18.1:删除链表中重复的节点

    // 面试题18(二):删除链表中重复的结点 // 题目:在一个排序的链表中,如何删除重复的结点?例如,在图3.4(a)中重复 // 结点被删除之后,链表如图3.4(b)所示. #include &l ...

  8. RabbitMQ的TopicExchange通配符问题

    TopicExchange交换机支持使用通配符*.# *号只能向后多匹配一层路径. #号可以向后匹配多层路径.

  9. Hibernate的查询的方式

    Hibernate的查询的方式 在Hibernate中提供了很多种的查询的方式.Hibernate共提供了五种查询方式. Hibernate的查询方式:OID查询 OID检索:Hibernate根据对 ...

  10. IONIC 打包安卓apk详细过程

    参照以下链接: https://blog.csdn.net/qq_20264891/article/details/79319408 当 cordova 项目安装的 android 平台版本 与 系统 ...