zoukankan      html  css  js  c++  java
  • Spring Boot简介

    微服务是什么?

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

    优点

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

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

    Spring Boot是什么?

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

    优点

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

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

    目标

    Spring Boot的设计目标如下 -

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

    为什么选择Spring Boot?

    选择Spring Boot,因为它提供的功能和优点如下 -

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

    Spring Boot是如何工作的?

    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依赖项就足够了。

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

    例子

    请看下面的Spring Boot启动器,以便更好地理解 -
    Spring Boot Starter Actuator依赖关系用于监视和管理应用程序。 其代码如下所示 -

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

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

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

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

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

    Spring Boot Starter Thyme Leaf依赖项用于创建Web应用程序。 其代码如下所示 -

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

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

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

    自动配置

    Spring Boot Auto Configuration会根据在项目中添加的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);
       }
    }
    
    Java

    Spring Boot应用程序

    Spring Boot Application的入口点是包含@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);
       }
    }
    
    XML

    组件扫描

    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);
       }
    }
  • 相关阅读:
    插入排序实现
    冒泡排序的实现
    选择排序的实现方法
    实现文字的竖排
    一个实体类的定义
    将字符串中的非字母数字,转化为ascii码输出
    根据员工入职时间和合同期计算下一次合同签订时间
    centos安装java的问题解决
    弓箭射小人
    Nature & Science 20102011年全部期刊下载链接
  • 原文地址:https://www.cnblogs.com/borter/p/12418134.html
Copyright © 2011-2022 走看看