springboot——概述

Spring Boot 介绍

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计⽬的是⽤来简化新 Spring 应⽤ 初始搭建以及开发过

程,该框架使⽤了特定的⽅式来进⾏配置,从⽽使开发⼈员不再需要定义样板化的配置。

默认配置了很多框架的使⽤⽅式,就像 Maven 整合了所有的 Jar 包,Spring Boot整合了所有的框架。

Spring Boot的核⼼设计思想是:约定优于配置Spring Boot 所有开发细节都是依此思想

Spring Boot 是⼀套全新的框架,它来⾃于 Spring ⼤家族, 简化了基于 Spring 的应⽤开发,通过少量的代码就能创建产品级别的 Spring应⽤。

 

该项⽬主要的⽬的

Spring 的开发更广泛的上⼿;

使⽤默认⽅式实现快速开发;

提供⼤多数项⽬所需的⾮功能特性,诸如:嵌⼊式服务器、安全、⼼跳检查、外部配置等。

 

Spring Boot 特性

 

使⽤ Spring 项⽬引导⻚⾯可以在⼏秒构建⼀个项⽬;

⽅便对外输出各种形式的服务,如 REST APIWebSocketWebStreamingTasks

⾮常简洁的安全策略集成;

⽀持关系数据库和⾮关系数据库;

⽀持运⾏期内嵌容器,如 TomcatJetty

强⼤的开发包,⽀持热启动;

⾃动管理依赖;

⾃带应⽤监控;

⽀持各种 IED,如 IntelliJ IDEA NetBeans

 

地位

看到社区使⽤ Spring Boot 的热情,Spring 官⽅也⾮常重视 Spring Boot , Spring Boot

为公司最顶级的项⽬来推⼴,放到了官⽹上第⼀的位置

 

 

微服务

微服务架构是在 互联网⾼速发展,技术⽇新⽉异的变化以及传统架构⽆法适应快速变化等多重因素的推动下

诞⽣的产物。互联网时代的产品通常有 类特点:需求变化快和⽤户群体庞⼤。在这种情况下,如何从系统

架构的⻆度出发,易扩系统,快速应对需求的变化;同时,随着⽤户的增加,如何保证系统

的可伸缩性、⾼可⽤性,成为系统架构⾯临的挑战。

 

如果还按照以前传统开发模式,开发⼀个⼤型⽽全的系统已经很难满⾜市场对技术的需求,这时候分⽽治之

的思想被提了出来,于是我们从单独架构发展到分布式架构,⼜从分布式架构发展到 SOA 架构,服务不断地

被拆分和分解,粒度也越来越⼩,直到微服务架构的诞⽣。

 

 

⼤约 2009 年开始,Netflix 完全重新定义了它的应⽤程序开发和操作模型,拉开了微服务探索的第⼀步,直

2014 3 Martin Fowler 写的⼀篇⽂章 MicroServices 以更加通俗易懂的形式为⼤家定义了什么是微服

务架构。Martin Fowler 在⽂中阐述了对微服务架构的设想,认为微服务架构是⼀种架构模式,它提倡将单⼀

应⽤程序划分成⼀组⼩的服务,服务之间互相协调、互相配合,为⽤户提供最终价值。

 

Spring Boot 诞⽣时,正处于微服务概念在慢慢酝酿中,Spring Boot 微服务架构的理念,实现

了在 Java 领域内微服务架构落地的技术⽀撑。Spring Boot 在开发、测试、运维等⽅⾯都做了⼤量的

优化,使⽤ Spring Boot 开发项⽬,可以快速响应需求、独⽴完成开发部署上线。

Spring Boot 的⼀系列特性容易实现微服务架构的落地,从⽬前众多的技 来看 Spring Boot Java

领域微服务架构最优落地技术没有之⼀。

 

为什么学习 Spring Boot

 

Spring Boot 本身并不提供 Spring 框架的核⼼特性以及扩展功能是⽤于快速 敏捷地开发新⼀代基于

Spring 框架的应⽤程序。同时它集成了⼤量常⽤的第三⽅库 置(如 R MongoDBJPA

RabbitMQQuartz 等),Spring Boot 应⽤中的这 三⽅库⼏乎可以零配置 开箱即⽤,⼤部分的 Spring

Boot 应⽤都只需要⾮常少量的配置代码,开发者能够更加专注于业务逻辑。

使⽤ Spring Boot 开发项⽬,有以下⼏⽅⾯优点:

Spring Boot 使开发变简单,Spring oot 提供了丰富的解决⽅案,快速集成各种解决⽅案提升开发效

率。

Spring Boot 使配置变简单,Springboot 提供了丰富的 默认配置,集成主流开源产品往往只需要简单的

配置即可。

Spring Boot 使部署变简单,Spring Boot 内嵌启动 器,仅仅需要⼀个命令即可启动项⽬,结合

Jenkins Docker ⾃动化运维测试易实现。

Spring Boot 使监控变简单,Spring Boot ⾃带监控组件,使⽤ Actuator 轻松监控服务各项状态。

从软件发展的⻆度来讲,越简单的发模式越会流简单的开发模式解放出更多⽣产⼒,让开发⼈员可以

将精⼒集中在业务上,⽽不是各种配置语法所设置的⻔槛上。Spring Boot 就是尽可能的简化应⽤开发的⻔

槛。

Spring Boot 所集 的技术栈,⼏ 互联⽹公司在使⽤的技术,跟着 Spring Boot 的路线去学习,基本

可以了解国内外 联⽹公司的 术特点。

总结

Spring Boot 是⼀套快速 在微服务架构的⼤环境下 Spring Boot ⼀经推出就受到开源社区的关注。

Spring Boot 有强⼤的⽣态整合能⼒,提供了众多的 Starters 包,⾮常⽅便 Spring Boot 集成第三⽅开源软件

达到开箱即⽤的效果。Spring Boot 和微服务架构都是未来软件开发的⼀个⼤趋势,越早参与其中受益越⼤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++(20)--类型自动转换

类型自动转换1.C内置类型转换2.实现自定义类的类型转换《老九学堂C课程》《C primer》学习笔记。《老九学堂C课程》详情请到B站搜索《老九零基础学编程C入门》 -------------简单的事情重复做,重复的事情用心做,用心的事情坚持做(老九君)---------------…

关于遍历linux的文件目录的坑- readdir

去年给公司写了一个配置服务器,目的是解决运维的工作量太大,而且传送服务器需要的配置文件需要脚本传送到各个服(每个服ip不一样,需要scp),然后再刷新通知各个GameServer,中间有没有传送失败并不得知,而且维护相当麻烦,所以我写了这个服务器,所有区服的配置都在这里边…

终于,我读懂了所有Java集合——sort

Collections.sort 事实上Collections.sort方法底层就是调用的Arrays.sort方法,而Arrays.sort使用了两种排序方法,快速排序和优化的归并排序。 快速排序主要是对那些基本类型数据(int,short,long等)排序, 而归并排序用于…

PRML(1)--绪论(上)多项式曲线拟合、概率论

PRML绪论1.1 多项式曲线拟合1.1.1 问题描述1.1.2 最小化平方和误差1.1.3 多项式阶数确定1.1.4 有趣问题--高阶模型为什么效果不好1.1.4 数据集规模对模型的影响1.1.5 参数正则化缓解过拟合问题1.2 概率论1.2.1离散型随机变量1.2.2 连续型随机变量1.2.3 期望和方差1.2.4 贝叶斯概…

大数加减乘

如标题&#xff0c;不解释。 加 #include<stdio.h> #include<string.h> int main() {char a[1000],b[1000];int i,s[1000],len1,len2,len,j;while(scanf("%s%s",a,b)!EOF) //用字符数组来储存数{for(i0;i<1000;i)s[i]0;len1strlen(a);len2strlen(b…

在GCC和Visual Studio中使用hash_map

熟悉STL或熟悉ACM/ICPC的话&#xff0c;其中的set, map, multiset, multimap一定用过无数次了&#xff0c;它们都是用平衡二叉树&#xff08;红黑树&#xff09;实现的&#xff0c;复杂度为O(lgn)。我们也知道set, map可以通过哈希来实现&#xff0c;复杂度只有O(1)&#xff0c…

C++(21)--Astah uml 画C++类图

Astah uml 画C类图1.安装2.使用《老九学堂C课程》《老九学堂C课程》详情请到B站搜索《老九零基础学编程C入门》-------------简单的事情重复做&#xff0c;重复的事情用心做&#xff0c;用心的事情坚持做(老九君)--------------- ASTAH&#xff1a;类图工具&#xff0c;用于理…

redis3.0.0 集群安装详细步骤

Redis集群部署文档(centos6系统) &#xff08;要让集群正常工作至少需要3个主节点&#xff0c;在这里我们要创建6个redis节点&#xff0c;其中三个为主节点&#xff0c;三个为从节点&#xff0c;对应的redis节点的ip和端口对应关系如下&#xff09; 127.0.0.1:7000 127.0.0.1:7…

Redis集群添加节点

Redis集群添加节点 1&#xff1a;首先把需要添加的节点启动 cd /usr/local/cluster/ mkdir 7006 cp /usr/local/cluster/redis.conf /usr/local/cluster/7006/ cd /usr/local/cluster/7006/ vi redis.conf ##修改redis.conf中的port参数的值为7006 redis-server redis.c…

PRML(2)--绪论(下)模型选择、纬度灾难、决策论、信息论

PRML绪论1.3 模型选择1.4 纬度灾难1.5 决策论1.5.1最小错误分率1.5.2最小化期望损失1.5.3拒绝选项1.5.4推断和决策1.5.5 回归问题的损失函数1.6 信息论1.3 模型选择 模型过复杂会造成过拟合问题&#xff0c;需要通过一些技术来降低模型的复杂度。 就最大似然而言&#xff0c;可…

leetcode112 路径总和

给定一个二叉树和一个目标和&#xff0c;判断该树中是否存在根节点到叶子节点的路径&#xff0c;这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; 5 / \ …

关于游戏架构设计的一些整理吧

一个大型的网落游戏服务器应该包含几个模块:网络通讯,业务逻辑,数据存储,守护监控(不是必须),其中业务逻辑可能根据具体需要,又划分为好几个子模块。 这里说的模块可以指一个进程,或者一个线程方式存在,本质上就是一些类的封装。

linux时间轮 Timing-Wheel的实现

过一段时间上传更新自己的心得&#xff0c;以及linux的时间轮实现 现在git上传自己的C代码 gitgithub.com:pbymw8iwm/Timing-Wheel.git

leetcode128 最长连续序列

给定一个未排序的整数数组&#xff0c;找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为4 思路&#xff1a;map记录某个连续序列端点的最大长度。 对于数字i&#xff…

C++(22)--继承和派生

继承和派生1.基本概念2.实现公有继承3.私有继承的例子4. 继承和组合《老九学堂C课程》《C primer》学习笔记。《老九学堂C课程》详情请到B站搜索《老九零基础学编程C入门》-------------简单的事情重复做&#xff0c;重复的事情用心做&#xff0c;用心的事情坚持做(老九君)----…

Python- 解决PIP下载安装速度慢

对于Python开发用户来讲&#xff0c;PIP安装软件包是家常便饭。但国外的源下载速度实在太慢&#xff0c;浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像&#xff0c;可以大幅提升下载速度&#xff0c;还可以提高安装成功率。 国内源&#xff1a; …

leetcode102 二叉树的层次遍历

给定一个二叉树&#xff0c;返回其按层次遍历的节点值。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果&#xff1a; [ [3], [9,20], [15…

Windows Git客户端搭建

最近开始做Windows 开发&#xff0c;所以找了一些windows下安装git的教程 本文环境&#xff1a; 操作系统&#xff1a;Windows XP SP3 Git客户端&#xff1a;TortoiseGit-1.8.16.0-32bit 一、安装Git客户端 全部安装均采用默认&#xff01; 1. 安装支撑软件 msysgit: http://ms…

C++(23)--多态性与虚函数

多态性与虚函数1.静态多态-重载2.动态多态-重写2.1 向上转换/向下转换3.虚函数的工作原理4.纯虚函数和抽象类5.补充项目(都市浮生记)-卒《老九学堂C课程》学习笔记。《老九学堂C课程》详情请到B站搜索《老九零基础学编程C入门》-------------简单的事情重复做&#xff0c;重复的…

如何在Appscale下发布自己的应用(一)

本篇文章主要讲如何在本地搭建appscale环境。由于国内的信息资源有限&#xff0c;很多重要的论坛被墙了&#xff0c;所以遇到不少麻烦&#xff0c;由于最近一段时间vpn也被封掉了&#xff0c;我只能通过特殊渠道方法来翻墙查阅资料&#xff0c;走了不少弯路。 1.先说系统和环境…