阅读 52

云原生-Spring Boot-简介

#图文创作打卡挑战活动#

Spring Boot是用于创建微服务的基于Java的开源框架。它是由Pivotal Team开发的,用于构建独立的和生产就绪的弹簧应用程序。本章将向您介绍Spring Boot,并使您熟悉其基本概念。

1、什么是微服务?

云原生-Spring Boot-简介

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

1.1、好处

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

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

2、什么是Spring Boot?

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

云原生-Spring Boot-简介

2.1、好处

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

  • 易于理解和开发弹簧应用
  • 提高生产力
  • 减少开发时间

2.2、目标

Spring Boot的设计目标如下:

  • 为了避免在Spring中进行复杂的XML配置
  • 以更简单的方式开发可用于生产环境的Spring应用程序
  • 减少开发时间并独立运行应用程序
  • 提供一种更简单的方法来开始使用该应用程序

2.3、为什么选择Spring Boot?

您可以选择Spring Boot,因为它具有此处提供的功能和优点-

  • 它提供了一种灵活的方法来配置Java Bean,XML配置和数据库事务。
  • 它提供了强大的批处理功能,并管理REST端点。
  • 在Spring Boot中,所有内容都是自动配置的。无需手动配置。
  • 它提供基于注释的spring应用程序
  • 简化依赖管理
  • 它包括嵌入式Servlet容器

云原生-Spring Boot-简介

2.4、它是如何工作的?

Spring Boot通过使用**@EnableAutoConfiguration**批注,根据您添加到项目中的依赖项自动配置应用程序。例如,如果MySQL数据库位于类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库。

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

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

2.5、spring boot 启动器

对于大型项目,处理依赖关系管理是一项艰巨的任务。Spring Boot通过提供一组依赖关系来解决此问题,以方便开发人员。

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

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

2.6例子

查看下面解释的以下Spring Boot启动器,以更好地理解-

Spring Boot Starter Actuator依赖项用于监视和管理您的应用程序。其代码如下所示-

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

复制代码

Spring Boot Starter Security依赖项用于Spring Security。其代码如下所示-

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

复制代码

Spring Boot Starter Web依赖项用于编写Rest Endpoints。其代码如下所示-

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

复制代码

Spring Boot Starter百里香叶依赖关系用于创建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>`

复制代码

2.7、自动配置

Spring Boot自动配置会根据您在项目中添加的JAR依赖关系自动配置Spring应用程序。例如,如果MySQL数据库位于类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库。

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

观察以下代码以更好地理解-

`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);`
 `}`
`}`
复制代码

2.8、Spring Boot应用程序

Spring Boot Application的入口点是包含**@SpringBootApplication批注的类。此类应具有运行Spring Boot应用程序的main方法。@SpringBootApplication**批注包括“自动配置”,“组件扫描”和“ Spring Boot配置”。

如果在类中添加了**@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-简介

2.9、组件扫描

初始化时,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);`
 `}`
`}`
复制代码
文章分类
后端
文章标签