前言

因为项目组需要进行微服务改造,而微服务开发中需要以Spring Boot为基础。因此需要先弄懂SpringBoot。

我们先来看看SpringBoot的背景由来,SpringBoot是什么,一个简单的SpringBoot样例工程

1.SpringBoot的背景由来

springboot是为了解决什么问题而产生的呢?

我们先来看看,在spring boot之前,作为一个java开发者要从无到有的开发一个新的web项目,我们都需要做哪些?

第一,我们创建一个java web项目,使用maven管理jar包

第二,修改pom文件,添加第三方jar包

第三,配置web.xml(或者一个WebApplicationInitializer实现),其中声明了DispatcherServlet

第四,配置spring及mvc等组件中需要的配置

第五,开发业务功能

第六,构建war包,部署项目到tomcat中

总之,创建一个新项目需要这么多步。

如果有一种更简单的方式,原本需要你小半天才能做好的工作,现在只需要十几分钟就做好,岂不是更好

因此Spring Boot就诞生了。人是多么的聪明啊

2.Spring Boot是什么

spring boot是一个简化搭建spring应用以及简化开发过程的一种框架。

Spring Boot模式开发相对于传统的Web开发还是有点颠覆性改变的:

第一,SpringBoot应用程序使用jar来运行,而传统模式是打成war包部署到servlet容器中。使用jar的模式有助于减轻运维人员的功能,更便于在Docker这种云平台的运行环境中使用。

第二,SpringBoot是应用启动容器,而传统模式时容器启动应用。这样Spring boot的一个优势是程序本身管理了容器版本,业务代码与运行容器是直接绑定的

第三,SpringBoot使用了大量的AutoConfig来进行探测和应用配置,使得代码配置很简单,但内部处理细节也被隐藏的很深。

3.一个简单的Spring Boot样例工程

环境:Eclipse  maven

项目结构:

pom文件

  • spring boot父级依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M6</version>
</parent>

spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可查看C:\Users\用户.m2\repository\org\springframework\boot\spring-boot-dependencies\2.0.0.M6\spring-boot-dependencies-2.0.0.M6.pom

  • 依赖  spring-boot-starter-xx

这个样例工程是web项目,所以依赖中用到spring-boot-starter-web

  • spring boot maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
  • 应用入口类SampleApplication

  • 控制类SampleController

使用SpringMVC的RestController返回一个json对象

  • Greeting:定义一个简单的POJO来作为返回对象。

最终效果是访问localhost:8080的时候,页面会展示一个JSON字符串。

Spring Boot系列—(一)入门的更多相关文章

  1. Spring Boot 系列总目录

    一.Spring Boot 系列诞生原因 上学那会主要学的是 Java 和 .Net 两种语言,当时对于语言分类这事儿没什么概念,恰好在2009年毕业那会阴差阳错的先找到了 .Net 的工作,此后就开 ...

  2. spring boot 系列之五:spring boot 通过devtools进行热部署

    前面已经分享过四篇随笔: spring boot 系列之一:spring boot 入门 spring boot 系列之二:spring boot 如何修改默认端口号和contextpath spri ...

  3. (Spring Boot框架)快速入门

    Spring Boot 系列文章推荐 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring Boot 静态资源处理 今天介绍一 ...

  4. Spring Boot【快速入门】简单案例

    Spring Boot[快速入门]   Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point ...

  5. 玩转spring boot——结合JPA入门

    参考官方例子:https://spring.io/guides/gs/accessing-data-jpa/ 接着上篇内容 一.小试牛刀 创建maven项目后,修改pom.xml文件 <proj ...

  6. spring boot(一):入门篇

    构建微服务:Spring boot 入门篇 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  7. Spring Boot 系列教程19-后台验证-Hibernate Validation

    后台验证 开发项目过程中,后台在很多地方需要进行校验操作,比如:前台表单提交,调用系统接口,数据传输等.而现在多数项目都采用MVC分层式设计,每层都需要进行相应地校验. 针对这个问题, JCP 出台一 ...

  8. Spring Boot 系列教程18-itext导出pdf下载

    Java操作pdf框架 iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好 ...

  9. Spring Boot 系列教程17-Cache-缓存

    缓存 缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找.由于缓存的运行速度比内存快得多,故缓存的作用就是帮 ...

  10. Spring Boot 系列教程16-数据国际化

    internationalization(i18n) 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式. 它要求从产品中抽离所有地域语言,国家/地区和 ...

随机推荐

  1. 20145217《信网络对抗》逆向与BOF基础实践

    20145217<信网络对抗>逆向与BOF基础实践 内容: 一.简单机器指令,汇编语言 1.'objdump -d xxx|more'反汇编命令查看机器代码,'cat'显示文件内容,'xx ...

  2. Book Review of “The practice of programming” (Ⅲ)

    The practice of programming Chapter 3 Design and Implementation In this section, we focus on one kin ...

  3. Terms of Company

    CMD系统:中国机车远程监视与诊断系统,由车载子系统.车地数据传输子系统和CMD地面综合应用子系统三部分组成. LKJ:列车运行监控装置,机车运行过程中与行车安全相关的信息,如司机号.车次.公里标.速 ...

  4. 华为交换机S5700系列配置通过STelnet登录设备示例

    配置通过STelnet登录设备示例 组网图形 图1 配置用户通过STelnet登录设备组网图 在服务器端生成本地密钥对 <HUAWEI> system-view [HUAWEI] sysn ...

  5. 配置iptables实现本地端口转发的方法详解

    场景假如你在用 resin 调试一个 Web 程序,需要频繁地重启 resin.这个 Web 程序需要开在 80 端口上,而 Linux 限制 1024 以下的端口必须有 root 权限才能开启.但是 ...

  6. Asp.net Core, 基于 claims 实现权限验证 - 引导篇

    什么是Claims? 这个直接阅读其他大神些的文章吧,解释得更好. 相关文章阅读: http://www.cnblogs.com/JustRun1983/p/4708176.html http://w ...

  7. LeetCode Weekly Contest 23

    LeetCode Weekly Contest 23 1. Reverse String II Given a string and an integer k, you need to reverse ...

  8. Sql Server 日期时间格式转换

    日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02 CONVERT(varchar(10), 时间一, 23) 结果:2 ...

  9. Jar 包 及运行Jar包 - 转载

    Eclipse的jar file和Runnable JAR file的区别 - 及bat运行Runnable JAR文件 1.两种jar的区别 jar file是最普通的jar包,即平时我们工程中li ...

  10. java 与大数据学习较好的网站

    C# C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!https://www.cnblogs.com/doforfuture/p/6293926.html ...