SpringBoot框架简介

大家好,SpringBoot是一个基于 Java 的开源框架,用于创建微服务,它由Pivotal Team开发,用于构建独立和生产就绪的spring应用程序,本文将介绍SpringBoot,助力理解其基本概念。

1.相关概念

1.1 微服务器

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

微服务为其开发人员提供以下优势:易于部署、简单的可扩展性、与容器兼容、最低配置、生产时间更短。

1.2 SpringBoot

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

SpringBoot提供的优势:易于理解和开发 Spring 应用程序、提高生产力、减少开发时间。

Spring Boot 的设计目标如下:

  • 在 Spring 中避免复杂的 XML 配置

  • 以更简单的方式开发生产就绪的 Spring 应用程序

  • 减少开发时间并独立运行应用程序

  • 提供更简单的应用程序入门方式

 SpringBoot提供了一种灵活的方式来配置 Java Bean、XML 配置和数据库事务,具有强大的批处理和管理REST端点。在 SpringBoot 中,一切都是自动配置的,无需手动配置。SpringBoot提供了基于注解的spring应用,简化依赖管理。

2.SpringBoot工作原理

2.1 SpringBoot启动器

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

SpringBoot应用的入口点是包含@SpringBootApplication注解和main方法的类,通过使用@ComponentScan注解自动扫描项目中包含的所有组件。

处理依赖管理对于大型项目来说是一项艰巨的任务,SpringBoot通过提供一组依赖项方便开发人员解决了这个问题。如果想使用 Spring 和 JPA 进行数据库访问,可以在项目中包含spring-boot-starter-data-jpa依赖项。

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

2.2 实例理解

SpringBoot Starter Actuator 依赖项用于监视和管理应用程序,代码如下所示:

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

SpringBoot Starter Security 依赖项用于 Spring Security,代码如下所示:

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

SpringBoot Starter Web 依赖项用于编写 Rest Endpoints,代码如下所示:

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

SpringBoot Starter Thyme Leaf 依赖项用于创建 Web 应用程序,代码如下所示:

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

SpringBoot Starter Test 依赖项用于编写测试用例,代码如下所示:

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

2.3 自动配置

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

为此,需要在主类文件中添加@EnableAutoConfiguration注解或@SpringBootApplication注解,然后SpringBoot应用程序将被自动配置。

代码如下所示:

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.4 SpringBoot应用程序

SpringBoot Application 的入口点是包含@SpringBootApplication注解的类,这个类应该有运行 SpringBoot 应用程序的 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);
   }
}

2.5 组件扫描

SpringBoot 应用程序在应用程序初始化时扫描所有 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);
   }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python慕遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值