关于springboot:Spring-Boot快速入门之一-简介

47次阅读

共计 3589 个字符,预计需要花费 9 分钟才能阅读完成。

【注】本文译自:https://www.tutorialspoint.com/spring_boot/spring_boot_introduction.htm

Spring Boot 是一个基于 Java 的开源框架,可用于创立微服务。它由 Pivotal 团队开发,用来构建可在生产环境独立运行的 spring 利用。Spring Boot 蕴含了全面的反对微服务开发的基础设施,并且可能开发可“即时运行”的企业级利用。

受众

本教程为 Java 开发者而设计,帮忙他们了解如何以最小化配置开发可用于生产的 spring 利用。本教程揭示了 Spring Boot 的次要个性,譬如:启动者、主动配置、Bean 和 Actuator 等。通过本教程,你能够取得中等水平的 Spring Boot 技能。

先决条件

学习本教程须要当时有肯定的 Java、Spring、Maven 和 Gradle 的教训。如果你有这些概念,就能够轻松了解 Spring Boot 的相干概念。要是你领有 RESTful Web 服务的编写教训,那会更有劣势。如果你是一位初学者,倡议你在开始学习 Spring Boot 之前要先对这些方面的常识有所理解。

Spring Boot — 简介

本文将带你相熟 Spring Boot 及其基本概念。

什么是微服务?

微服务是一个体系结构,容许开发者独立开发和部署服务。每个服务都有其独立的运行过程,并且以轻量机制通信反对业务利用。

劣势

对于开发者而言,微服务有以下劣势:

  • 易于部署
  • 便于扩大
  • 与容器兼容
  • 最小化配置
  • 缩短生产工夫

什么是 Spring Boot?

Spring Boot 为 Java 开发者提供了一个优良的平台,可用于开发独立运行的生产级 spring 利用,并且可能即时运行(just run)。你毋须相熟整个 spring 配置,只需以最小化的配置进行开发。

劣势

Spring Boot 为开发者提供了以下劣势:

  • 易于了解和开发 spring 利用
  • 进步生产效率
  • 缩小开发工夫

指标

Spring Boot 的设计指标如下:

  • 防止 spring 简单的 XML 配置
  • 以便捷的形式开发生产级的 Spring 利用
  • 缩小开发和独立运行的工夫
  • 提供启动利用的便捷形式

为什么要用 Spring Boot?

之所以要抉择 Spring Boot,是因为它可能提供以下个性和利益:

  • 提供了灵便的形式来配置 Java Beans、XML 配置和数据库事务
  • 提供了弱小的批处理、治理 REST 端点
  • 在 Spring Boot 中,所有皆为主动配置,毋须手工配置
  • 提供了基于注解的 spring 利用
  • 便捷的依赖治理
  • 引入了嵌入式 Servlet 容器

工作原理

Spring Boot 应用 @EnableAutoConfiguration 注解可主动配置利用。

Spring boot 利用的入口点是蕴含 @SpringBootApplication 的类和其 main 办法。

Spring Boot 应用 @ComponentScan 注解主动扫描我的项目中蕴含的所有组件。

Spring Boot 启动器(Starters)

对于大型项目而言,依赖治理是一项艰巨的工作。Spring Boot 通过为开发者提供一系列便捷的依赖来解决这个难题。比方:要想应用 Spring 和 JPA 进行数据库拜访,你只有在我的项目里引入 spring-boot-starter-data-jpa 就能够了。

要留神所有的 Spring Boot 启动器都有雷同的命名范式 spring-boot-starter- *,这里 * 批示它是某种的类型类型。

示例

看看上面解释能够对 Spring Boot 启动器有更好的了解:

Spring Boot Starter Actuator dependency 用于监控和治理你的利用。代码如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

Spring Boot Starter Security dependency 用于 Spring 平安。代码如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-security</artifactId>

</dependency>

Spring Boot Starter web dependency 用于编写 Rest 端点。代码如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

Spring Boot Starter Thyme Leaf dependency 用于创立 web 利用。代码如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-thymeleaf</artifactId>

</dependency>

Spring Boot Starter Test dependency 用于编写测试案例。代码如下:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

</dependency>

主动配置

Spring Boot 主动配置通过在我的项目中增加 JAR 依赖来自动化配置 Spring 利用。例如:如果你的 classpath 里蕴含 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);

}

}

Spring Boot 利用

Spring Boot 利用的入口点是蕴含 @SpringBootApplication 的类。这个类该当有运行 Spring Boot 利用的主办法。@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 扫描所有申明的 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);

}

}

正文完
 0