概述

  1、了解springboot的作用

  2、构建第一个springboot项目

一、springboot的作用

  ① 原先在构建SSM项目的时候,可以感觉到,在一些不是很大的项目,构建配置文件的过程所需的时间花费甚至超过项目本身的业务,每次构建一个新项目都得搞各种配置文件(xml\configuration类)。我们需要一些自动化的配置,springboot可以做到。

  ② 近几年随着业务增加,流量增大等原因,所有业务堆积在一个项目是很恐怖的,一个项目里面光理清业务逻辑就很压力,更别说后期开发,到了集群时期,多个服务器部署相同的项目,改一个业务就得重新挨个部署,效率低下,就有人(Josh Evans大神)提出微服务的架构,他认为服务应该是独立个体(大概这意思)。随着技术发展,业务逐渐被独立出来,形成能独立执行的个体,分散在各个服务器中,也就是微服务架构,各个服务通过中间件交流,而springcloud就是实现微服务架构的技术之一,而了解springcloud,则先需要了解springboot。

二、构建第一个springboot项目

  以往构建spring项目,我们需要导入jar包或maven依赖,再配置一下 spring的配置文件(xml或@Configuration标注的类) ,之后在web.xml配置启动时加载spring容器,光是个启动就要做那么多事,所以我们来看看,springboot如何帮助我们构建一个项目,先跟着做,后续讲解一些还未接触的小伙伴想知道的事。

  以IDEA为例:

  (1)创建一个新项目,选择Spring Initializr(IDEA内嵌的初始化springboot的一个组件开发插件),此过程需要在接入网络下进行,会下载一些依赖

  (2)填写所属组、版本信息,使用jdk1.8构建 。 其中,Package 是构建后的包名,简略写

  (3)选择所需的模块。可以看到,在这里能选择很多我们想集成的模块(sql\nosql之类),这是springboot自动化配置的强大功能,只要选择模块,就默认帮我们配置好这些模块,现在我们先选择web模

块开发第一个程序。

  (4)确定项目的存储位置后,Finish 。

  (5)创建完成后,右下角会出现更新提示,允许后会自动配置好springboot的环境,并且项目目录如下,其中的详细后续会解释。现在我们可以看看 SpingbootQuickstart1Application类,其中的main方法就是整个项目启动的入口。springboot内置了Tomcat容器,我们不需要自己配置容器就可运行。

  (6)创建一个controller包,并且创建一个 HelloController.class

@Controller
public class HelloController { @ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World!" ;
}
}

  (7)运行 SpringbootQuickstart1Application中的 main方法,即可启动该项目(springboot内嵌了了Tomcat容器,所以不需要手动配置容器,很方便)。启动项目后,访问

  localhost:8080/hello 即可看到我们的第一个springboot项目已经完成。

  至此,我们可以发现,我们完成一个springboot项目,没有配置web.xml ,没有配置spring容器,仅仅是运行了main方法就可以启动项目。这是因为springboot的一个理念:约定大于配置。只要我们根据其约定,在对应的位置写下自己的业务,springboot就能帮我们运行。springboot有大量的自动配置文件,我们可以根据实际需求修改。后续的文章也会解析。

  

  刚学SpringBoot,记下笔记加深印象。若有错误,敬请斧正,以免误导他人。

初涉springboot(一)的更多相关文章

  1. 初涉springboot(二)

    概述 1.环境说明 2.HelloWorld项目细节   3.小结 一. 关于环境补充 在上一篇的HellWorld项目中,我们构建SpringBoot项目,采用的是jdk1.8版本,springbo ...

  2. 初涉springboot

    1.首先,我们需要了解微服务是什么? 微服务 (Microservices) 是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用 ...

  3. 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用

    问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...

  4. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  5. Springboot搭建web项目

    最近因为项目需要接触了springboot,然后被其快速零配置的特点惊呆了.关于springboot相关的介绍我就不赘述了,大家自行百度google. 一.pom配置 首先,建立一个maven项目,修 ...

  6. Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)

    这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...

  7. 解决 SpringBoot 没有主清单属性

    问题:SpringBoot打包成jar后运行提示没有主清单属性 解决:补全maven中的bulid信息 <plugin> <groupId>org.springframewor ...

  8. SpringBoot中yaml配置对象

    转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...

  9. springboot 学习资源推荐

    springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...

随机推荐

  1. HDU 1256 画8 (找规律)

    题目链接 Problem Description 谁画8画的好,画的快,今后就发的快,学业发达,事业发达,祝大家发,发,发.   Input 输入的第一行为一个整数N,表示后面有N组数据. 每组数据中 ...

  2. python3爬虫.3.下载网页图片

    目标,豆瓣读书, 下载页面书籍图片. import urllib.request import re #使用正则表达式 def getJpg(date): jpgList = re.findall(r ...

  3. PHP 5 MySQLi 函数总结

    连接数据库 mysqli_connect() 函数打开一个到 MySQL 服务器的新的连接. <?php $con=mysqli_connect("localhost",&q ...

  4. uboot之---make smdk2410_config命令详细解析

    先进入顶层Makefile.有很多相对不同板子的配置,如: gec2440_config:unconfig @$(MKCONFIG) $(@:_config=) arm arm920t gec2440 ...

  5. PHP对象2: 构造函数与析构函数

    当一个对象的所有引用都没有时, 一个对象才消失, 这时才执行析构函数 <?php class firecat{ public $name; function say(){ echo 'I lov ...

  6. Linux SCIM/fcitx/ibus 输入法

    现在很多发行版linux一般都是装好scim scim-tables-zh 重启就行 但有时重启后还是不能调用 可以用如下方法: 添加文件: sudo gedit /etc/X11/xinit/xin ...

  7. Linux kernel kfifo分析【转】

    转自:https://zohead.com/archives/linux-kernel-kfifo/ 本文同步自(如浏览不正常请点击跳转):https://zohead.com/archives/li ...

  8. Petrozavodsk Summer Training Camp 2017 Day 9

    Petrozavodsk Summer Training Camp 2017 Day 9 Problem A. Building 题目描述:给出一棵树,在树上取出一条简单路径,使得该路径的最长上升子序 ...

  9. Logistic回归与梯度上升算法

    原创作品出处 原始出处 .作者信息和本声明.否则将追究法律责任.http://sbp810050504.blog.51cto.com/2799422/1608064 Logistic回归与梯度上升算法 ...

  10. Java容器---Collection接口中的共有方法

    1.Collection 接口 (1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map.List.Set.Queue. 右图中实现黑框的ArrayLi ...