《SpringBoot+Vue》Chapter01_SpringBoot介绍

SpringBoot的介绍

简单来说,SpringBoot就是Spring提供的用于Web开发的脚手架框架。配置简单、上手快速

SpringBoot的特性

  • 自带tomcat、Jetty服务器可以部署war包
  • 自动配置Spring框架和第三方框架
  • 能够提供应用的健康监控和配置的监控
  • 没有代码生成,并且尽可能的减少了xml等的配置

SpringBoot的创建

在线创建

通过 start.spring.io 来创建


springboot在线创建

通过idea创建

创建maven工程项目

添加maven依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

添加启动类

@EnableAutoConfiguration
@RestController
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}

SpringBoot的相关知识点分析

@SpringBootApplication

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM,
                classes = AutoConfigurationExcludeFilter.class) })

@Configuration

SpringBoot加载时会加载很多的后置处理器,各种后置处理器完成各种处理功能。其中有一个后置处理器ConfigurationClassPostProcessor。这个后置处理器就是专门负责处理带@Configuration的类。所以在SpringBoot加载的时候加载到所有带有@Configuration标记的类,在类中使用了一个代理类来增强了被@Configuration标记的类。原来的类会被增强的类替换。被代理的类执行的时候会执行一个BeanMethodInterceptor拦截器,在拦截器中会拦截加了@Bean的方法,然后会判断@Bean方法的Bean是否被创建。如果创建了就会直接返回。没有Bean就会创建。所以@Configuration标记的类创建的对象是同一个对象。
如果没有使用@Configuration,使用的是@Component,那么这个类就没有被增强没有被代理,那这个类就是普通的类,就会和普通类一样创建对象,创建的就不一定是同一个对象

SpringBoot的Parent

SpringBoot的Parent完成了以下的功能,使得我们的项目继承SpringBootParent后可以直接省略这些步骤

  1. 定义Java的编译版本
  2. 定义项目编码格式
  3. 定义依赖的版本号
  4. 项目打包的配置
  5. 资源文件的过滤

SpringBootParent使用的两种方式

  • 第一种 直接继承SpringBootParent
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>
  • 第二种在项目中使用SpringBootDependencies
    当我们的项目不方便继承SpringBootParent或者我们需要继承自己的Parent的时候,我们可以使用SpringBootDependencies
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
最后编辑于:2024-08-25 10:33:29


喜欢的朋友记得点赞、收藏、关注哦!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

武昌库里写JAVA

您的鼓励将是我前进的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值