SpringBoot 使用与介绍

1.Spring 的缺点

Springboot 也就是为了解决spring的缺点诞生的顶级框架,那么spring 有哪些缺点呢?

  1. 配置繁琐,配置文件太多了。
  2. 依赖繁琐,一旦依赖错了版本,那么今晚就要加班排查。

springboot 的优点

  1. 自动配置,Spring的配置可以自动装配完成
  2. 起步依赖,Spring可能需要一个一个jar的引入,但是Springboot 把需要的一些jar包打成一个大的jar 后面我们只要引入这一个。
  3. 辅助功能,比如嵌入式的服务器、安全、指标、健康检测、外部配置等等的一些功能

Springboot 并不是对Spring做了功能增强,这是更快速的使用Spring而已

2. SpringBoot 入门案例

搭建一个简单的Springboot案例

首先idea 里面创建一个maven 工程

2.1 pom 文件配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>SpringBootStudy</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
<!--    父工程-->
    <parent>
       <groupId>org.springframework.boot</groupId>
        <version>2.1.8.RELEASE</version>
        <artifactId>spring-boot-starter-parent</artifactId>
    </parent>
<!--    启动依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

2.2 启动类

这个大家再熟悉不过了

package com.zx;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * springboot的入口,同学们工作的时候可以看一看你们自己公司项目的入口
 */
@SpringBootApplication//固定注解后面也会详细讲解这个作用
public class Application {
    //Springboot启动项目的入口,这个args的作用后面也会详细讲解
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

2.2 这边就是我们的controller

package com.zx.Ctl;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloCtl {
    @RequestMapping("/hello")
    public String hello(){
        return "你好!";
    }
}

以上就搭建了一个小型的项目!但是为什么这么简单呢,后面会一一解答

3.SpringBoot 快速构建

用idea 快速构建一个web 项目

  

非常的简便,当然spring官网也可以进行组装成一个压缩包,然后我们可以使用。

4.起步依赖分析

4.1 spring-boot-starter-parent

 4.2 spring-boot-starter-web

 

5.Springboot 使用详解

5.1 spring 配置

SpringBoot 是基于约定的,很多配置都有默认值,但是有个默认的配置文件application.proterties

或者application.yml又或者是application.yaml进行配置 ,具体加载顺序看下图

5.2 yml 配置

yml 的语法特性

  1. 大小写敏感
  2. 数据值前面必须要有空格!也就是:后面必须要空格

5.3 yml 数据格式

这边就直接贴图,看一下就了然

5.4 获取yml里的数据

5.4.1 @Value

这个还是很常见的方法取值

 5.4.2 Environment 

5.4.3 @ConfigurationProperties

这个注解的意思就是将配置文件里面的值映射到这个对象里面,注意这个类里面必须要有geter、sertter,才可以正确的注入

package com.zx.Config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Arrays;

@Component
@ConfigurationProperties//这边默认就是拿配置文件里的值
//这边带值的意思就是在配置文件有对象的时候就可以只映射对象的值,而不是整个配置文件
//@ConfigurationProperties(prefix = "server")
public class HelloConfig {

    private String msg1;

    private String[] name;

    public String getMsg1() {
        return msg1;
    }

    public void setMsg1(String msg1) {
        this.msg1 = msg1;
    }

    public String[] getName() {
        return name;
    }

    public void setName(String[] name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "HelloConfig{" +
                "msg1='" + msg1 + '\'' +
                ", name=" + Arrays.toString(name) +
                '}';
    }
}

只要加上这个依赖就可以去除上面红色的报错 

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

加上了这个,再写配置文件的时候就会有提示.,就是根据你配置文件里面需要的值的时候就很方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值