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是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...
随机推荐
- C语言编程入门之--第五章C语言基本运算和表达式-part2
5.1.4 再来一个C库函数getchar吸收回车键 回车键也是一个字符,在使用scanf的时候,输入完毕要按下回车键,这时候回车键也会被输入到stdin流中,会搞乱我们的程序. 注意:stdin是输 ...
- UVA - 1152 --- 4 Values whose Sum is 0(二分)
问题分析 首先枚举a和b, 把所有a+b记录下来放在一个有序数组,然后枚举c和d, 在有序数组中查一查-c-d共有多少个.注意这里不可以直接用二分算法的那个模板,因为那个模板只能查找是否有某个数,一旦 ...
- c语言实现基本的数据结构(一) 线性表
#include <stdio.h> #include <tchar.h> #include <stdlib.h> #define LIST_INIT_SIZE 1 ...
- python历史背诵
一.python简介 python2:源代码不统一 有重复功能的代码 默认编码是ascii 没有中文 输出中文需要用头文件 #-*-coding=utf-8-*- 进行转换 py3:源代码统一 没有重 ...
- python+appium自动化测试(一)-----环境搭建
基础背景: windows7系统 +python3.4版本 环境搭建目标: 使用python编写app自动化测试脚本并成功执行. 搭建步骤: 1.安装python3,安装步骤详见:https:// ...
- Hive 系列(五)—— Hive 分区表和分桶表
一.分区表 1.1 概念 Hive 中的表对应为 HDFS 上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大. 分区为 HDFS 上表目录的子目录,数据按照分区存储在子 ...
- Oracle cursor学习笔记
目录 一.oracle库缓存 1.1.库缓存简介 1.2.相关概念 1.3.库缓存结构 1.4.sql执行过程简介 二.oracle cursor 2.1.cursor分类 2.2.shared cu ...
- 用java自制简易线程池(不依赖concurrent包)
很久之前人们为了继续享用并行化带来的好处而不想使用进程,于是创造出了比进程更轻量级的线程.以linux为例,创建一个进程需要申请新的自己的内存空间,从父进程拷贝一些数据,所以开销是比较大的,线程(或称 ...
- 一个最简单的通过自定义注解形式实现AOP的例子
1.首先实现AOP实例的第一步即声明切面类,两种方式(1.基于注解形式@Aspect,2.基于xml配置,一般都通过注解来声明切面类) 2.切入点表达式大致也有两种,一种是直接根据方法的签名来匹配各种 ...
- 启xin宝app的token算法破解——token分析篇(三)
前两篇文章分析该APP的抓包.的逆向: 启xin宝app的token算法破解--抓包分析篇(一) 启xin宝app的token算法破解--逆向篇(二) 本篇就将对token静态分析,其实很简单就可以搞 ...