概述

  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. NYOJ 141 Squares (数学)

    题目链接 描述 A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degre ...

  2. hdu 5328 Problem Killer(杭电多校赛第四场)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328 题目大意:找到连续的最长的等差数列or等比数列. 解题思路:1.等差等比的性质有很多.其中比较重 ...

  3. 【过滤器】web中过滤器的使用与乱码问题解决

    一.过滤器Filter 1.filter的简介 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目   标资源访问前后进行逻辑处理 2.快速入门 步骤: 1)编写一个过 ...

  4. LDA线性判别分析

    LDA线性判别分析 给定训练集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的近,异类样例点尽可能的远,对新样本进行分类的时候,将新样本同样的投影,再根据投影得到的位置进行判断,这个新样本的 ...

  5. UVA题解三

    UVA题解三 UVA 127 题目描述:\(52\)张扑克牌排成一列,如果一张牌的花色或者数字与左边第一列的最上面的牌相同,则将这张牌移到左边第一列的最上面,如果一张牌的花色或者数字与左边第三列的最上 ...

  6. 如何删除git远程分支(转)

    1,在开发过程中,大家在远程创建了许多分支,有些是无用的,该如何删除呢,可以参考下面的方法. 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放 稳 ...

  7. SYN Flood攻击及防御方法 (转)

    原文连接:http://blog.csdn.net/bill_lee_sh_cn/article/details/6065704 一.为什么Syn Flood会造成危害      这要从操作系统的TC ...

  8. linux和windows下TIME_WAIT过多的解决办法

    http://www.51testing.com/html/48/202848-249774.html linux和windows下TIME_WAIT过多的解决办法 http://m.sohu.com ...

  9. scrapy爬虫

    a. 配置文件 #settings.py DEPTH_LIMIT = 1 #指定“递归”的层数 ROBOTSTXT_OBEY = False #对方网站规定哪些网址可以爬,这个选项表示不遵循此规定 b ...

  10. Delphi XE增强的RTTI妙用--动态创建包中的窗口类

    以前要在运行时创建package中的form类,必须要在form单元文件中这样注册类: Initialization  RegisterClass(TForm3);Finalization  UnRe ...