今天准备开一个新系列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

  1. 打开网站

  1. 填写项目信息

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

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

  1. 下载代码

内容解释:下载解压后我们看到就是一个普通的maven项目,我们将这个项目导入我们常用的ide就可以了。

IntelliJ IDEA

idea神器也是我一直比较推崇的,对新技术有第一时间的支持。下面我们使用idea创建Spring boot项目
  1. 新建Spring Initializr项目

  1. 点击next

  1. 选择依赖
  2. 创建项目

创建方式基本是和网站基本是一致的,只不过在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 获取更多福利资源~

最新文章

  1. locky勒索样本分析
  2. MySQL使用if判断
  3. jsp内置对象浅谈
  4. Spring3.2 HelloWorld
  5. webpack 引入 bootstrap
  6. Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护
  7. oracle主键和索引
  8. 【 强大的Mac/iOS开发工具】AppCode for Mac 2017.3
  9. erlang遍历目录
  10. Linux&#160;学习笔记之超详细基础linux命令(the&#160;end)
  11. Java 容器源码分析之1.8HashMap方法讲解
  12. jenkins迁移升级简述
  13. Javascript 闭包(Closures)
  14. Hibernate 的update语句性能详解
  15. 关于maven环境下使用pom.xml引入包名.lastUpdate包的解决办法
  16. python用random产生验证码,以及random的一些其他用法
  17. 协议名称处理函数xxxprotoxxx()
  18. Struts2学习-拦截器2续
  19. Hibernate课程 初探多对多映射2-2 创建持久化类和映射文件
  20. ES6中Set集合(与java里类似)

热门文章

  1. mysql复制那点事(2)-binlog组提交源码分析和实现
  2. 【0809 | Day 12】可变长参数/函数的对象/函数的嵌套/名称空间与作用域
  3. .Net MVC 框架基础知识
  4. 2019牛客暑期多校训练营(第十场)F-Popping Balloons
  5. linux command line learn - get the absolute path of a file
  6. DRF (Django REST framework) 中的路由Routers
  7. Linux下Kafka下载与安装教程
  8. springboot 项目的https的发布
  9. 剑指Offer(二十二):从上往下打印二叉树
  10. SharpMap&#160;V1.1&#160;For&#160;Web教程系列之——地图展示