SpringBoot是什么及其优缺点&简单认识微服务

Spring Boot简介

  • 简化Spring应用来发的一个框架
  • 整合Spring技术栈的一个大整合
  • J2EE开发的一站式解决方案

相关:

  • spring data:数据访问,包括sql和nosql
  • spring secruity:安全权限
  • spring cloud:分布式整体解决方案

优点:

  • 可以快速创建独立运行的spring项目,与主流框架集成
  • 内嵌servlet容器,(内嵌tomcat)无序打包成war包
  • 有很多启动器(starter),实现自动依赖和版本控制
  • 自动装配
  • 无需手动xml配置
  • 可运行时应用监控
  • 与云计算天然集成

缺点:

  • 上手容易精通难(spring是基础)

微服务

  • 一种架构风格
  • 一个应用应该是一组小型服务,可以通过http(还有其它协议)进行通信
  • 将应用进行元素拆分,一个元素就是可独立更新替换的软件单元(一个应用=n微应用,类似于独立可插拔,根据需求组装微应用)
  • 会形成应用网(运维变得difficult)

spring boot快速构建微服务——>spring cloud实现组装——>spring cloud data flow来处理网之间的数据流

相关:

  • 单体应用:all in one——开发、测试、部署容易,横向扩展也容易,复制n份war包,通过负载均衡分配处理,但耦合性强

快速搭建一个spring boot 的helloworld项目

  1. 创建一个简单的maven项目
  2. 导入spring boot依赖
  3. 创建一个主类标记为@SpringBootApplication
  4. 编辑相关的业务逻辑
  5. 导入一个插件spring-boot-maven-plugin可将应用打包成一个可执行jar包,简化部署,可通过java -jar命令来执行

》在第二步导入spring boot依赖时,导入了spring-boot-starter-parent,它的父项目是spring-boot-dependencies,相当于它把所有需要的依赖的版本都自动为我们导入了——版本仲裁
》spring-boot-starter-web,相当于导入了web应用正常运行所以来的所有组件
》spring-boot-starter为springboot场景启动器
》被标记@SpringBootApplication的类为主配置类,spring boot应用的启动就是运行这个类的main方法

!!sring boot将所有的功能场景都提取出来,制作成一个一个启动器,项目中需要哪些场景就导入相应的启动器即可

@SpringBootApplication(组合注解)中用到的注解

  • @SpringBootConfiguration:配置类,配置类也是容器中的一个组件
  • @EnableAutoConfiguration(组合注解):开启自动配置,将主配置类所在包及其子包下的所有组件扫描到spring容器中
    • @AutoConfigurationPackage:使用@import导入了一个AutoConfigurationPackages.Register.class来实现
    • @import导入EnableAutoConfigurationImportSelector.class来导入组件选择器,将组件以全类名形式返回给容器

!!可以使用Spring Initializer快速创建Spring Boot项目,这样我们只需要进行业务逻辑编写即可,项目结构如下图
SpringBoot是什么及其优缺点&简单认识微服务_第1张图片

你可能感兴趣的:(SpringBoot是什么及其优缺点&简单认识微服务)