SpringBoot 基本奥义

SpringBoot 基本奥义

springboot 是用来快速使用spring的方试。基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而提高了开发的效率

就是简化 spring的开发配置,是spring顶级项目之一。

Spring缺点

1)配置繁琐
虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始, Spring用XML配置,而且是很多XML配置, Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样, Spring实用,但它要求的回报也不少。

2)依赖繁琐
项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

SpringBoot功能

1自动配置

Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。

约定大于配置:只要是启动类 当前或者后面子包中的注解,都会自动扫描

2起步依赖

起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。

简单的说,起步依赖就是将具备某种功能的坐标打包到一起,并提供一些默认的功能。

3辅助功能

提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。

Spring Boot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。

用maven 创建 springboot需要的坐标依赖

<!--springboot工程需要继承的父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
    </parent>

    <dependencies>
        <!--web开发的起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

springboot的 引导类

用来运行 springboot项目

/* 这是springboot的 引导类
   就是进入springboot程序的入口 */

/* @SpringBootApplication  springboot的 引导类的注解
 *  有了这个注解,才能将这个类 变成springboot引导类 */
@SpringBootApplication
public class HelloApplication {

    /*  运行springboot项目,就的运行这个   */
    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class,args);
    }
}

也可以在创建springboot项目模块时

通过 Spring Initlalizr 来创建 意思是 spring初始化。

选择 Spring Initlalizr 后 直接点击 Next

在出现的页面 填写

Project Metadata
Group: 组名 com.itheima
ArtifactIype 项目模块名称 springboot-initMaven
Tурe:Maven Project 项目工程 选择maven工程
Language: Java

Packaging:jar 打包方式
Java Version: 8 版本
Version:0.0.1-SNAPSHOT 版本
Name:springboot-init 与 项目模块名称 一致
Description: Demo proiect for Sprina Boot
Package:com.itheima,springbgotinit

然后下一步

通过 图形化界面勾选依赖,就能自动生成依赖

再然后下步 点击 finilly 就完了。

05-SpringBoot起步依赖原理分析

  • 在spring-boot-starter-parent中定义了各种技术的版本信息,组合了一套最优搭配的技术版本。

  • 在各种starter中,定义了完成该功能需要的坐标合集,其中大部分版本信息来自于父工程。

  • 我们的工程继承parent,引入starter后,通过依赖传递,就可以简单方便获得需要的jar包,并且不会存在版本冲突等问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

普希托夫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值