Spring Boot初识
今天准备开一个新系列springboot,springboot结束后会更新springcloud,想要学会springcloud先学springboot吧。以后springboot和hadoop轮流更新 嘻嘻。
在开篇呢,想给大家推荐一本书,也是最近公司一直推荐阅读的,<<金字塔原理>>。
话说,刚看到这本书的时候,我以为是讲的人从如何从底层爬到顶层,走向人生巅峰。
其实并不是哈哈,这本书主要是讲我们在日常工作汇报、产品介绍、软件开发、需求沟通等等,如何去沟通,怎么让自己的听众在最短的时间听懂自己在讲什么。总之,金字塔原理在我们日常工作中还是非常有用的,熟练运用常常能事半功倍。
ok,下面开始进入正题啦。
讲springboot之前肯定要讲讲什么是springboot
什么是springboot
这玩意出来也挺久的了,也被广泛使用与各种项目中。进公司前是对它非常熟悉的了,如今大半年没用了,要一点一点捡起来啦~
随着动态语言(Ruby,Scala,Node.js),Java的开发显得格外的笨重,主要体现在繁多的配置、低下的开发效率、第三方集成难度大。
在上述环境中,springboot就应运而生了。它推崇一种思想,"习惯优于配置"。
主要体现在我们项目有大量的配置,如果此时有一种习惯的配置在,可以帮我们省去大部分配置的时间,快速启动项目。
使用springboot可以很容易的创建一个独立运行的jar(内置servlet容器),准生产级别的基于spring的项目。
总的一句话就是,用了springboot你就可以不用或者只需很少的Spring配置
Springboot快速搭建
有很多种搭建方式,但是我们常用的就两种,一种是先在网站(http://start.spring.io)上生成项目压缩包,我们解压后导入编译器。另外一种就是比较直接的,直接在idea上创建(原理还是一样的)。ecplise的话可以用STS(Spring Tool Suite)
http://start.spring.io
- 打开网站

- 填写项目信息

- 选择项目选用的依赖(即starter pom)

内容解释:这里备选的每一项技术都是Spring boot的starter pom,例如我们选中的Web,就是在Maven依赖spring-boot-starter-web。与这项技术相关的bean都会被自动配置。
- 下载代码

内容解释:下载解压后我们看到就是一个普通的maven项目,我们将这个项目导入我们常用的ide就可以了。
IntelliJ IDEA
idea神器也是我一直比较推崇的,对新技术有第一时间的支持。下面我们使用idea创建Spring boot项目
- 新建Spring Initializr项目

- 点击next

- 选择依赖
- 创建项目
创建方式基本是和网站基本是一致的,只不过在idea创建会直接帮我们导入
简单演示
新建Spring Boot项目
使用上述方法新建Spring Boot项目后,生成的项目的根包目录下会有artifactId+Application命名规则的入口类。

添加测试控制器
为了演示简单,我们不再新建控制器类,而是直接在入口类中编写代码。
@SpringBootApplication//1
@RestController
public class Createproject2Application {
@RequestMapping("/")
String hello(){
return "Hello Kris";
}
public static void main(String[] args) {//2
SpringApplication.run(Createproject2Application.class, args);
}
}
代码解释:1⃣@SpringBootApplication是Spring Boot项目的核心注解,主要目的是开启自动配置功能。 下一篇我们再对这个注解进行详细的介绍
2⃣main方法。这是一个标准的Java应用的main方法,主要作用是作为项目启动的入口
运行效果
右上角点击运行。

当然我们也可以通过mvn命令启动
mvn spring-boot:run
访问http://localhost:8080
结果如下:

ok啦。今天就讲这么多,总体来说还是很简单的,想想之前的项目,如果需要从零开始搭建,然后访问接口。需要多长时间,多少配置。使用springboot可以说是一步到位。
至于hadoop我们上一篇讲了wordcount的计算。下一篇打算出一篇工作中也是常用到的,日志采集,汇总,清洗,保存到hdfs中。
公众号搜索:喜讯XiCent 获取更多福利资源~
Spring Boot初识的更多相关文章
- Spring Boot 初识
发展到今天,spring已经是一个大家族了,如果想要使用其中的两到三个组件就会有多复杂的配置,有时候还有会版本不一致的错误,让人很无奈.于是,就有了spring Boot,spring Boot ...
- Spring Boot初识(4)- Spring Boot整合JWT
一.本文介绍 上篇文章讲到Spring Boot整合Swagger的时候其实我就在思考关于接口安全的问题了,在这篇文章了我整合了JWT用来保证接口的安全性.我会先简单介绍一下JWT然后在上篇文章的基础 ...
- Spring Boot初识(3)- Spring Boot整合Swagger
一.本文介绍 如果Web项目是完全前后端分离的话(我认为现在完全前后端分离已经是趋势了)一般前端和后端交互都是通过接口的,对接口入参和出参描述的文档就是Mock文档.随着接口数量的增多和参数的个数增加 ...
- Spring Boot初识(2)- Spring Boot整合Mybaties
一.本文介绍 首先读这篇文章之前如果没有接触过Spring Boot可以看一下之前的文章,并且读这篇文章还需要你至少能写基本的sql语句.我在写这篇文章之前也想过到底是选择JPA还是Mybaties作 ...
- Spring Boot初识(1)-了解Spring Boot
写在前面:半年工作经验的Java程序员一枚,奈何公司用的是自研的Web框架和RPC框架,本着good good study,day day up的精神和为以后发展的考虑觉得自己需要学点开源的东西,写的 ...
- 【Spring Boot&&Spring Cloud系列】Spring Boot初识
项目代码地址:https://github.com/AndyFlower/Spring-Boot-Learn/tree/master/Spring-boot-helloworld 一.Spring B ...
- spring boot系列(一)spring boot 初识
什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...
- 初识在Spring Boot中使用JPA
前面关于Spring Boot的文章已经介绍了很多了,但是一直都没有涉及到数据库的操作问题,数据库操作当然也是我们在开发中无法回避的问题,那么今天我们就来看看Spring Boot给我们提供了哪些疯狂 ...
- 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...
随机推荐
- Linux故障处理最佳实践
引言 业务中断了! 老板咆哮,主管抓狂,而你就是那个要去处理故障.恢复业务的不幸的人. 你独自一人在阴暗的隔间里.北边是老板的办公室,西边是Team Leader的办公室,南面是茶水间,在那你能泡上一 ...
- LayDate使用
layDate非常愿意和您成为工作伙伴.她致力于成为全球最用心的web日期支撑,为国内外所有从事web应用开发的同仁提供力所能及的动力.她基于原生JavaScript精心雕琢,兼容了包括IE6在内的所 ...
- laravel新项目报错 No application encryption key has been specified.
解决办法, 若文件根目录下没有 .env 1..env.example 改名使用命令 copy 修改为 .env 2.使用命令 php artisan key:generate 获取密码,自动保存到 ...
- 大陆争霸[SDOI2010]带限制最短路
只要你有无限个自爆机器人,你就能为所欲为 斯普林·布拉泽 [题目描述] 略 一句话题意: 杰森国有 \(N\) 个城市,由 \(M\) 条单向道 路连接.杰森国的首都是城市 \(N\).你只需摧毁杰森 ...
- Leader-Follower线程模型简介
参考58沈剑大神架构师之路上的文章,谈谈Leader-Follower线程模型: 上图就是L/F多线程模型的状态变迁点,共6个关键点: (1)线程有3种状态:领导leading,处理processin ...
- 普通Apache的安装与卸载
Apache安装与卸载ctrl+F快捷查找 1.下载apache 64位解压 官网:http://httpd.apache.org/ 文件使用记事本或者sublime2.修改 打开apache目录下的 ...
- 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...
- jmeter+Fiddler:通过Fiddler抓包生成jmeter脚本
Fiddler是目前最常用的抓包工具之一,它作为客户端和服务器端之间的代理,记录客户端和服务器之间的所有请求(http/https),可以针对特定的请求过滤,分析请求和响应的数据.设置断点.调试.修改 ...
- Okhttp3源码解析(5)-拦截器RetryAndFollowUpInterceptor
### 前言 回顾: [Okhttp的基本用法](https://www.jianshu.com/p/8e404d9c160f) [Okhttp3源码解析(1)-OkHttpClient分析](htt ...
- HDU 6040
题意略. 思路:题目就是在询问你m次,第k小是哪个数.首先我们可以想到直接排序后,即可O(1)来查找询问.但是题目中n的范围给的是1e7, 无法承受nlogn的复杂度.从而想到另外一种求静态第k小的方 ...