1.1微服务--微服务基石SpringBoot

简述SpringBoot

一、什么是SpringBoot

为了摆脱繁杂的配置,让开发人员能够专心在代码开发上,SpringBoot在这样的背景下因运而生。

它本身并不提供Spring框架的核心特征以及拓展功能,只是用于快速敏捷地开发新一代用于Spring框架的应用程序,

简单说就是提升Spring开发效率的工具;它同时集成了大量的第三方库,可以实现零配置、打开即用等功能。

总结:

1、【快速入门】为所有Spring开发提供一个更快更广泛的入门体验;

2、【开箱即用】不合适时也可以快速抛弃;

3、【Spring血统】提供一系列大型项目常用的非功能性特征;

4、【零配置】(无需配置XML,遵循“约定大于配置”)

二、SpringBoot与其他框架关系

SpringBoot与Spring MVC

Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop。

ioc 提供了依赖注入的容器 。aop 解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。

Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig处理起来比较繁琐。

于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程

SpringBoot与SpringCloud

SpringBoot先于SpringCloud问世, Spring Boot相当于脚手架,借助它可以快速搭建房子,它本身不具备任何功能属性,值是普通房间,没有其他任何功能。

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具;

Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;

Spring Boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置。

Spring Cloud很大的一部分是基于Spring Boot来实现,可以不基于Spring Boot吗?

答案是不可以,因为Spring Cloud的组件和模块都是基于Spring Boot来实现的,Spring Cloud是由许多Spring Boot应用组成的

Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。

三、搭建一个SpringBoot项目

1、安装Gradle

2、构建项目

进入 https://start.spring.io/ 选择相应选项构建项目,会生成相应工程文件,下载保存即可

3、修改build配置文件

build.gradle

// buildscript 代码块中脚本优先执行
buildscript {

	// ext 用于定义动态属性
	ext {
		springBootVersion = '2.0.0.M4'
	}

	// 使用了Maven的中央仓库及Spring自己的仓库(也可以指定其他仓库)
	repositories {
		// mavenCentral()
		maven { url "https://repo.spring.io/snapshot" }
		maven { url "https://repo.spring.io/milestone" }
		maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
	}

	// 依赖关系
	dependencies {

		// classpath 声明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}

// 使用插件
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

// 指定了生成的编译文件的版本,默认是打成了 jar 包
group = 'com.waylau.spring.cloud'
version = '0.0.1-SNAPSHOT'

// 指定编译 .java 文件的 JDK 版本
sourceCompatibility = 1.8

// 使用了Maven的中央仓库及Spring自己的仓库(也可以指定其他仓库)
repositories {
	//mavenCentral()
	maven { url "https://repo.spring.io/snapshot" }
	maven { url "https://repo.spring.io/milestone" }
	maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
}

// 依赖关系
dependencies {

	// 该依赖用于编译阶段
	compile('org.springframework.boot:spring-boot-starter-web')

	// 该依赖用于测试阶段
	testCompile('org.springframework.boot:spring-boot-starter-test')
}

输出:

新建Hello World项目:将上述项目复制并改名为Hello World,在IDEA中导入

运行SpringBoot三种方式:

1、IDE中右键运行项目

输出:

2、java -jar

3、gradle bootRun 插件

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值