4年前 (2021-02-27)  微服务 |   抢沙发  252 
文章评分 1 次,平均分 5.0

SpringBoot和微服务

Spring Boot是一个基于Java的开源框架,用于创建微服务。它是由Pivotal团队开发的,用于构建独立的和可生产的spring应用程序。本文将向您介绍SpringBoot并让您熟悉其基本概念。

什么是微服务?

微服务是一种允许开发人员独立开发和部署服务的体系结构。运行的每个服务都有自己的流程,这实现了支持业务应用程序的轻量级模型。

优势

微服务为其开发人员提供了以下优势:

  • 易于部署
  • 简单的可扩展性
  • 与容器兼容
  • 最小配置
  • 缩短生产发布时间

什么是Spring Boot

Spring Boot为Java开发人员提供了一个很好的平台,可以开发一个独立的、生产级的Spring应用程序,您可以直接运行它。您可以从最低配置开始,而不需要整个Spring配置设置。

优势

Spring Boot为其开发人员提供了以下优势:

  • 易于理解和开发spring应用程序
  • 提高生产力
  • 缩短开发时间

目标

Spring Boot的设计目标如下:

  • 避免在Spring中进行复杂的XML配置
  • 以更简单的方式开发一个生产就绪的Spring应用程序
  • 以减少开发时间并独立运行应用程序
  • 提供一种更简单的应用程序入门方法

为什么是选择Spring Boot?

您可以选择Spring Boot,因为它提供了此处所述的功能和好处-

  • 它提供了一种灵活的方式来配置javabean、XML配置和数据库事务。
  • 它提供了强大的批处理并管理REST端点。
  • 在springboot中,一切都是自动配置的;不需要手动配置。
  • 它提供了基于注释的spring应用程序
  • 简化依赖关系管理
  • 它包括嵌入式Servlet容器

它是如何工作的?

Spring Boot根据您使用@EnableAutoConfiguration注解添加到项目中的依赖项自动配置您的应用程序。例如,如果MySQL数据库在类路径上,但是您没有配置任何数据库连接,那么Spring Boot会自动配置内存中的数据库。

Spring Boot应用程序的入口点是包含@SpringBootApplication注释和main方法的类。

Spring Boot使用@ComponentScan注释自动扫描项目中包含的所有组件。

Spring Boot Starters

对于大型项目来说,处理依赖关系管理是一项困难的任务。Spring Boot通过为开发人员提供一组方便的依赖项来解决这个问题。

例如,如果您想使用Spring和JPA进行数据库访问,那么在项目中包含spring-boot-starter-data-jpa数据JPA依赖项就足够了。

请注意,所有Spring Boot starters都遵循相同的命名模式spring-boot-starter- *,其中*表示它是应用程序的一种类型。

示例

为了更好地理解,请看下面介绍的以下Spring Boot:

Spring Boot Starter Actuator执行器依赖关系用于监视和管理应用程序。其代码如下所示:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Boot Starter Security 依赖项用于Spring安全性。其代码如下所示:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Boot Starter web依赖用于编写Rest端点。其代码如下所示:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot Starter Thyme Leaf依赖关系用于创建web应用程序。其代码如下所示:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test测试依赖关系用于编写测试用例。其代码如下所示:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

Auto Configuration

Spring Boot自动配置根据您在项目中添加的JAR依赖自动配置Spring应用程序。例如,如果MySQL数据库在类路径上,但是您没有配置任何数据库连接,那么Spring Boot会自动配置内存中的数据库。

为此,需要将@EnableAutoConfiguration注释或@SpringBootApplication注释添加到主类文件中。然后,您的Spring引导应用程序将被自动配置。

请遵守以下代码以更好地理解:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Spring Boot Application

Spring Boot应用程序的入口点是包含@SpringBootApplication注释的类。此类应该具有运行Spring引导应用程序的main方法。@SpringBootApplication注释包括自动配置、组件扫描和SpringBoot配置。

如果将@SpringBootApplication注释添加到类中,则不需要添加@EnableAutoConfiguration@ComponentScan@SpringBootConfiguration注释。@SpringBootApplication注释包括所有其他注释。

为了更好地理解,请遵守以下代码:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

组件扫描

当应用程序初始化时,Spring Boot应用程序扫描所有bean和包声明。您需要为类文件添加@ComponentScan注释来扫描添加到项目中的组件。

为了更好地理解,请遵守以下代码:

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}
 

除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/1592.html

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册