当前位置:首页 > 技术 > 后端 > 正文内容

【微服务 从0开始 】Spring boot 简单搭建一个微服务项目

anan1周前 (05-10)后端25

这里是【秒懂·云原生】,关注我学习云原生不迷路
如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位点赞评论收藏⭐️

专栏介绍

【秒懂·云原生】 目前主要更新微服务,一起学习一起进步。

本期介绍

主要介绍Spring boot与Spring Cloud的关系,以及如何搭建一个微服务项目

文章目录

前言:

工欲善其事,必先利其器。在对Spring Cloud各部分组件进行具体介绍之前,我们会对Spring Cloud微服务的基础Spring Boot进行介绍。Spring Boot是Spring一套快速配置开发的脚手架,可以基于Spring Boot快速集成开发单个Spring应用。

Spring Cloud是基于Spring Boot实现的云应用开发工具,很大一部分实现依赖于SpringBoot。可以说Spring Boot是整个Spring Cloud微服务架构的服务基础。

Spring boot 介绍

在构建第一个微服务之前,我们先了解一下Spring boot

Spring框架功能很强大,但是就算是一个很简单的项目,开发者也需要进行大量的配置工作,因此在Spring 4.0之后出现了Spring Boot框架,它的作用很简单,就是帮助开发者自动配置Spring的相关依赖。Spring Boot是Pivotal团队于2013年推出的全新项目,主要用来简化Spring开发框架的开发、配置、调试和部署工作,同时在项目内集成了大量易于使用且实用的基础框架。Spring Boot使用了特殊的方式来进行初始化配置,这使得开发者不需要额外定义样板化的配置。

Spring boot 与Spring Cloud

Spring Cloud基于Spring Boot框架开发应用,为微服务开发中的架构问题提供了一整套的解决方案:如服务注册与发现、服务消费、服务容错、API网关、分布式调用追踪和分布式配置管理等。
Spring Cloud与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 Cloud离不开Spring Boot,属于依赖与被依赖的关系。

Spring boot 核心特性

从本质上来讲,Spring Boot是一个框架中的框架,它专注于框架的整合,让基础的框架能够更好地集成使用。它简化了集成过程中的模板化配置,提供了本应该由开发者自身去实现的Spring Bean配置,从而使开发者能够从繁琐的配置中解放出来,更专注于应用程序的业务逻辑。
SpringBoot所具备以下特性:

  • SpringApplication:提供一种简便的方式来引导启动Spring应用程序,通过main的方式启动应用。
  • 外部化配置(External Configuration):通过外部化配置的方式,可以让开发者自定义相关配置以使相同的应用运行于不同的环境中。
  • Profiles: Spring Profiles可以将配置文件隔离成不同的模块,并且使这些模块中的配置只在特定的环境中生效。
  • 日志(Logging) : Spring Boot完善的日志系统更利于开发者调试和监控应用程序。·MVC: Spring Web MVC框架,使得开发者得心应手地搭建Web后端应用。
  • 嵌入式容器(Embedded Containers):支持内置的Tomcat、Jetty和Undertow服务器,使得应用程序通过内嵌的服务器容器一键启动。
  • SQL:提供了使用SQL数据库的广泛支持,从直接通过JDBC(JdbcTemplate)访问数据库到通过对象关系映射框架(如Hibernate)访问数据库等等。
  • NoSQL:集成了大量的框架来提供使用NoSQL数据库的技术,支持Redis、MongoDB、Neo4j、Elasticsearch、Solr Cassandra、Couchbase和LDAP等诸多NoSQL数据库,这些NoSQL数据库的使用都可以由Spring Boot提供相关的自动配置实现。
  • 消息系统(Message)︰提供了对消息系统的广泛支持,包括JMS、RabbitMQ.Kafka和WebSocket等。
  • 测试(Testing)︰提供了一系列实用工具和注解,以帮助开发者测试应用程序。
  • 自动配置(Auto-Configuration):自动配置不仅减少了Spring框架中本该由开发者自主实现Bean相关配置,也使得开发者具备根据自己的业务需要为应用程序定义各种特定Bean的能力。
  • 监控(Monitoring) : Spring Boot的监控能够使开发者更好地掌控应用程序的运行状态。

构建一个微服务

也就是搭建一个Spring boot 项目,接下来介绍两种搭建Spring boot项目的流程。

一、IDEA生成

使用IDEA生成项目的主要过程如下:

1、Spring Initializer创建项目。

2、设置项目的基本信息。
如图所示,可以设置创建项目的包名、Group的Id、Artifact的ld和Java的版本等信息。

3、添加依赖。
用于添加Spring Boot的依赖。
这里依赖随便添加几个基本的就行

4、Spring boot项目就建好了

4)启动类与控制类。
启动类和控制类的代码如下所示:


解释一下这两个注解:

SpringMVC中使用了3个注解作用于Chapter3BootDemoApplication类,分别是@Configuration (2.0.0版本中添加了@SpringBootConfiguration注解来代替Spring的标准配置注解@Configuration) .@EnableAutoConfiguration和
@ComponentScan。SpringBoot提供了一个统一的注解@SpringBootApplication,默认属性下等于上述3个注解。

@RestController组合了@Controller和@ResponseBody注解,表明该类可以处理HTTP请求,并且返回JSON类型的响应。Spring lnitializer会自动为应用生成对应的启动类,一般以*Application方式进行命名。

6、添加端点。
在启动类中增加控制类的端点,暴露出/test的端点。所以在application.properties中设置服务器启动的端点,如下所示:

服务器会使用内置的Tomcat容器进行启动,服务器端口为8000。这样一个简单的Spring Boot Web应用就写好了,正常访问接口http://localhost:8000/test即可。

二、lnitial生成

如果不想使用IDEA的话,也可以在Spring官方网站https://start.spring.io/创建项目,再将创建好的项目下载到本地,解压之后导入到IDEA中。

1、创建项目。如图所示,填写Group的ld、Artifact的ld和项目依赖。添加项目依赖时,根据输入的关键字,会有下拉框选择提示。填好这些信息,就可以生成对应的项目。生成的项目会自动下载。

2、解压并导入项目。解压下载好的项目之后,会发现项目结构和IDEA中生成的一样如图所示,因为IDEA中调用的APIl接口是Spring官方的项目生成器接口。

,https://blog.csdn.net/weixin_50843918/article/details/124257517
打赏
版权声明:所有来源为第三方内容,若本站收录的文章无意侵犯了贵司版权,请给下面邮箱地址来信,我们会及时处理和回复,谢谢。

管理员邮箱:42004990@qq.com

微信公众号

分享给朋友:

相关文章

打小都说我聪明,自从学了 java内部类,我才如梦初醒

打小都说我聪明,自从学了 java内部类,我才如梦初醒

Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强) 基础推荐:Java基础教程系列 实战推荐:Spring Boot基础教程 简介:Java领域优质创作...

CGBTN2109汇总复习

CGBTN2109汇总复习

CGBTN2109汇总复习 复习思路 先抓知识结构主干,再去慢慢补充细节拓展 遇到会的,快速回顾 遇到忘记或者是不会的,先记录,后面自己复习的时候着重回顾 一阶段学习路径 1 基础语法Ba...

SpringBoot模拟一个员工数据库并且实现增删改查

SpringBoot模拟一个员工数据库并且实现增删改查

1:首先创建一个pojo层在里面定义数据 Department部门: package com.example.springbootweb.pojo; import lombok.AllArgsC...

系统分析与设计(IBM共建)实验环境配置

系统分析与设计(IBM共建)实验环境配置

系统分析与设计(IBM共建)实验环境配置 一 JDK JDK下载 JDK下载 链接 安装JDK 将压缩包解压到文件夹中 配置系统环境变量...

走Java道路怎么样,如何学习

走Java道路怎么样,如何学习

你是否和我一样平平无奇 你是否上学没有目标 你是否毕业没有方向 你是否工作没有尽头 那么!你想过换个努力道路吗? 在IT行业,Java是当下火热的编程语言,Java作为IT业最知名的...