SpringBoot学习笔记(持续更新)

要学习SpringCloud啦!但是SpringBoot是基础,所以需要开个篇补一下,这里学习的是黑马程序员的6小时快速入门SpringBoot,在这里记录一下,以防忘记,将来也方便复习!

day01 SpringBoot初级

在这里插入图片描述

SpringBoot概述

在这里插入图片描述
突发奇想:学习编程,一定要自顶向下学习,刚刚入门了SC,对整个开发部署流程有了一个大概的认知,在听SB的课程发现理解起来很容易,而且学习的目标性很强
为什么会有SB呢?
这就要聊一聊Spring的缺点了

在这里插入图片描述
使用SB就不用配置tomcat了,因为将其内置了

SpringBoot快速入门

在这里插入图片描述
创建maven项目:

在这里插入图片描述
在这遇到个小问题,我的module点了没反应,解决方法就是将插件koitlin禁用
选用maven的模块
在这里插入图片描述

在这里插入图片描述

接下来在pom.xml文件中导入起步依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.9.RELEASE</version>
    <relativePath/>
</parent>

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

然后定义controller
在这里插入图片描述

package com.itheima;

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

@RestController
public class HelloController {
   
   

    @RequestMapping("Hello")
    public String hello(){
   
   
        return "Hello Spring Boot!";
    }
}

接下来如何启动呢,那接下来就是springboot特有的引导类,引导类一般都是Application结尾的,这个相当于springboot的入口。

有个细节就是要把业务代码和这个引导类分开写,如

在这里插入图片描述
HelloApplication.java中的代码:(将main方法写在此类中)

package com.itheima;

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

/**
 * 此类为引导类,也就是SB项目的入口,在入口中写入main方法
 */
@SpringBootApplication
public class HelloApplication {
   
   
    public static void main(String[] args) {
   
   
        SpringApplication.run(HelloApplication.class,args);
    }
}

最后在这运行项目,然后输入url,页面成功显示
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

但是啊,这又要写pom.xml文件,又要写引导类耗费时间,那么有没有一种更快的构建方式呢?
当然

在这里插入图片描述
在这里插入图片描述
接下来我们只需要直接写业务代码就ok
可以说是更加便捷了

SpringBoot起步依赖原理分析

在这里插入图片描述
在pom.xml文件中我们可以追溯到spring-boot-starter-parent的祖先类spring-boot-dependencies,这个类中的properties标签整合了各种常用技术的稳定版本,如图:
在这里插入图片描述
再往下有一个标签是dependencyManagement,这是版本锁定的意思,如果我们在父工程中定义了版本信息,将来我们的工程如果继承了父工程,那我们就不需要写版本信息,如果没有继承,那就得加上父工程的版本信息。

在这里插入图片描述

springboot 配置

分为一下几个部分:

在这里插入图片描述
简单介绍一下profile的功能就是,或者说为什么会有profile,因为我们在开发的时候使用的是开发环境,部署的时候使用的是生产环境,而测试的时候使用的是测试环境,但是三种环境使用的配置是不一样的,所有就需要动态切换这些配置,因此也就有了profile。

配置文件分类

在这里插入图片描述
其中.yml.yaml都指同一种文件类型,由此我们便知道了,后缀名为properties、yml和yaml的文件都是配置文件
在这里插入图片描述
如果同一个项目,既有.properties和.yml,则idea会优先配置properties文件的内容,如果yaml和yml并存会优先执行yml。
在这里插入图片描述

YAML

在这里插入图片描述
使用properties,它的格式是没有缩进的,但是yml有
在这里插入图片描述

yaml的语法:

在这里插入图片描述

YAML数据格式

在这里插入图片描述
单引忽略,双引识别

server:
  port: 8082

name: abc

#对象
person:
  name: zhangsan
  age: 13
#对象行内写法
person1: {
   
   name: lisi,age: 14}

#地址
address:
  - beijing
  - shanghai

#地址行内写法
address1: [beijing,shanghai]

msg1: 'hello \n world'
msg2: "hello \n world"

在这里插入图片描述
在这里插入图片描述

读取配置文件信息

在这里插入图片描述

在这里插入图片描述

@Value

    @Value("${name}")			//使用@Value来读取值
    private String name1;		
    
    @Value("${person.name}")		//使用@Value来读取对象
	private String name2;	
	
     @Value("${address[0]}")           //使用@Value来读取数组
     private String address1;	
Environment:

定义一个Environment对象,这个对象属于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CFuYuan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值