SpringBoot2.x--入门篇--01--HelloWorld
很多人说,学习springboot至少需要spring基础,servlet基础等等,笔者不敢苟同。凡是有一定java基础的人,都可以直接学习springboot,当学到原理和源码时,通过查缺补漏的方式补充需要的其他内容即可,并无必要非耗时学完其他内容再来学习,本篇教程尝试让只有java基础的人也能快速掌握springboot(当然还需要掌握基础的idea使用),并且吃透原理和源码。
Talk is cheap, show me the code.
我们直接来感受一下开箱即用的helloworld。
(一) Hello SpringBoot
1 准备maven环境
安装maven,配置环境变量,本文不再赘述,安装完成后建议在maven安装目录下的conf/setting.xml配置如下全局jdk。
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8
</maven.compiler.compilerVersion>
</properties>
</profile>
2 创建maven项目
在idea中点击File—New—Project—Maven(左侧菜单栏),选中project sdk为1.8以上版本(官方要求必须为1.8以上版本),然后Next。

填写artifactId(项目名)和groupId(项目包名),点击Next,在弹出的新窗口中,点击Finish。

生成一个标准的maven项目目录,形如:

src目录下,分为三部分,main文件夹,test文件夹,和pom.xml配置文件。
main文件夹用来存放编写的代码,以及代码调用的资源。
test文件夹用来存放测试代码。
pom.xml用来管理需要的依赖。
3 引入依赖
打开pom.xml,编写我们需要的依赖
<!--继承超级父pom springboot的父依赖 声明版本-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent> <dependencies>
<!--web项目的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4 创建入口类和业务处理类
在main/java/com/demo目录下,创建一个程序入口类
/**
* @SpringBootApplication
* 注解声明这是一个springboot项目
* 当前类是程序入口类
*/
@SpringBootApplication
public class DemoApplication { /**
* SpringApplication是spring启动类
* 调用静态方法run,将入口类和main函数的参数传递进去
*/
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class,args);
}
}
在main/java/com/demo/controller目录下,创建一个业务处理类
/**
* @Controller 声明这是一个业务控制类
*/
@Controller
public class DemoController { /**
* @RequestMapping("/hello")
* 指定url请求和代码处理方法的映射关系
* @ResponseBody
* 指定返回格式为json
*/
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "Hello world";
}
}
5 启动验证
在程序入口类中,右键run,启动项目,看到如下日志代表启动成功

这代表我们通过tomcat容器,启动了端口为8080的服务,可以进行访问了。
打开浏览器,访问localhost:8080/hello, 看到响应“Hello world”。
一点都不对应“万事开头难”这个俗语,开篇so easy。
(二)热部署
目前idea的使用比例大大大幅的超过了eclipse,作为一个走在时代前端的猿儿,这里只介绍idea的使用方式。
大概分三步(请自行脑补宋丹丹老师的口音),第一步,把依赖引进来;第二步,把setting配置上;第三步,把注册中心找出来。
下面具体说一下,
1 依赖引入
springboot提供了开发工具包,供我们热部署使用,依赖如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
想要热部署生效,还需要在ide里将自动编译相关的配置选中,使得代码更新后能够及时热部署
2 setting配置
查找并勾选build project automatically


3 注册中心registry配置
快捷键 Ctrl + Shift + Alt + / -》 选择registry -》 勾选compiler automake allow when app running


至此,就可以做到热部署了,把前面的hello world改成任意字符,试试看。
(三)打包
开发完成项目后,当然要打包部署,这一步springboot也提供了便捷的插件,先引入进来。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后通过mvn package命令就可以打成jar包了
(四)启动
我们之前讲了在入口类中右键可以直接启动项目,这种方式列为第一种。

增加了上述的打包插件后,在右侧的maven窗口,可以看到spring-boot插件,插件中有一个spring-boot:run命令,可以直接启动项目,此为第二种。

通过插件打包的jar包,可以使用java -jar命令直接执行,这种方式通常用于生产环境的启动,此为第三种。
SpringBoot2.x--入门篇--01--HelloWorld的更多相关文章
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
[.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序 一.练习项目: http://www.asp.net/mvc/tutorials/mvc-4/gettin ...
- SpringMVC.入门篇.一.HelloWorld
SpringMVC.入门篇<一>HelloWorld 项目包结构如下: HelloController.java 代码 package com.charles.controller; im ...
- spring boot入门篇,helloworld案例演示
为什么用spring boot? 嵌入的 Tomcat,无需部署 WAR 文件 简化 Maven 配置 无需 XML 配置,轻松快速地搭建Spring Web应用 开始学习SpringBoot 构建简 ...
- ActiveMQ学习总结------入门篇01
注:*这篇博文文章主要介绍ActiveMQ是什么原理性的内容和如何安装和简易操作 一. ActiveMQ 简介 1 ActiveMQ是什么呢?看起来好碉堡的东西哇! ActiveMQ 是 Apach ...
- SpringMVC.入门篇《二》form表单
SpringMVC.入门篇<二>form表单 项目工程结构: 在<springmvc入门篇一.HelloWorld>基础上继续添加代码,新增:FormController.ja ...
- iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试
iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心 ...
- Java自动化测试框架-01 - TestNG之入门篇 - 大佬的鸡肋,菜鸟的盛宴(详细教程)
TestNG是什么? TestNG按照官方的定义: TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便. TestNG是一个开源自动化测试框 ...
- Springboot2.x入门——helloWorld
Springboot2.x入门--helloWorld 一.简介 1.1 Springboot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的 ...
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- [Maven]Apache Maven 入门篇
作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...
随机推荐
- 制作简易的3D相册
今天介绍一下3D相册,用到了开源的FeatureCoverFlow控件,之前的几个作品用的也全都是开源的控件,为什么要用开源的控件呢,因为...他稳定啊! 1.准备 仍然是,去掉标题栏,然后导 ...
- 写论文与PPT汇报时matlab图片的背景透明处理
不少同学在使用Word写论文时,将matlab生成的图保存为jpg格式,然后粘贴到文档中.word背景为纯白色,jpg图的缺点没有显示,实际上会存在很大白边,以及放大后不清晰的问题,很影响PPT展示和 ...
- 性能测试瓶颈判断(LR&Windowns)
性能测试瓶颈判断(LR&Windowns) 一.判断CPU瓶颈(Processor) 1, %processor time 如果该值持续超过95%,表明瓶颈是CPU.可以考虑增加一个处理器或换 ...
- C++中类型强制转换
C++中强制类型转换有四种: 1.static_cast 格式:static_cast<Type>(Value); --用于基本类型间的转换,但不能用于基本类型指针间的转换: int i ...
- 导出wordpress数据库Fatal error: Cannot 'break' 2 levels
今天我打算备份一下我在Linux下用宝塔面板搭建的phpmyadmin导出wordpress数据库.选择数据库后给我一个Fatal error: Cannot 'break' 2 levels in ...
- ZIP压缩和解压字符串
由于ZIP压缩会产生头信息, 所以当字符串长度没有达到一定规模的时候, 压缩后的长度可能比原来的还长 // 将一个字符串按照zip方式压缩和解压缩 public class ZipUtil { // ...
- 如何看破真假美猴王 ? --java中的Shadowing和Obscuring
故事背景 <西游记>第五十七回:唐僧因悟空又打死拦路强盗,再次把他撵走.六耳猕猴精趁机变作悟空模样,抢走行李关文,又把小妖变作唐僧.八戒.沙僧模样,欲上西天骗取真经.真假二悟空从天上杀到地 ...
- Spark的Java开发环境构建
为开发和调试SPark应用程序设置的完整的开发环境.这里,我们将使用Java,其实SPark还支持使用Scala, Python和R.我们将使用IntelliJ作为IDE,因为我们对于eclipse再 ...
- .NetCore技术研究-.NET Core迁移前的准备工作
前段时间迁移.NET Core做了大量的试水和评估,今天整理一下分享给大家.大致有以下几个部分: 1. .NET Core的由来 2. 为什么要迁移.NET Core 3. .NET Core3.X主 ...
- 【ADO.NET-中级】百万级数据的批量插入的两种方法测试
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量 ...