springboot学习基础入门

springboot基础入门

一、适用范围

仅适用于需要基础框架的国企、项目设计等,只针对于最基础的看懂springboot框架

二、YAML语法

  1. 存储对象
bash 复制代码
# 方法一:
person1:
   name: zhangsan
person2:
   name: zhangsan
   age: 20
# 方法二:
person2: {name: 张三,age: 20}
# 一定要有两个空格
  1. 数组
bash 复制代码
address:
 - beijing
 - shanghai # 使用 -表示数组的每一个元素
 # 行内写法
 address:[beijing,shanghai]
  1. 纯量(类似常量)
bash 复制代码
msg1: 'hello \n word'  # 单引号不会识别转义字符,输出hello \n word
msg1: "hello \n word"  # 双引号会识别转义字符,输出hello 换行 word
  1. 参数引用
bash 复制代码
name: abc

person:
  name: ${name}  # 实际就是abc
  age: 20
  1. 小结:
    基本语法:
    ① 大小写敏感
    ② 数据值之前必须有空格,作为分隔符
    ③ 使用空格缩进表示层级关系,相同缩进表示同一级

三、读取配置内容

1. 使用@value方法

(1) 第一组

在java目录下面写.java文件

bash 复制代码
@RestController
public class HelloController {
   @Value("${name}") # 这里的name必须与yaml文件一致
    private String name;  # 这里的name不用与yaml一致
    }
# 调用name值并且打印出来
public String hello2() {
        System.out.println(name);    
        }

yaml文件

bash 复制代码
name: abc

(2) 第二组

bash 复制代码
@RestController
public class HelloController {
    @Value("${person.name}")
    private String name2;

    @Value("${person.age}")
    private int age;
    }
public String hello2() {
          System.out.println(name2);
        System.out.println(age); 
        }

yaml文件

bash 复制代码
person:
  name: zhangsan
  age: 20

第三组:数组访问

bash 复制代码
@RestController
public class HelloController {
    @Value("${address[0]}")
    private String address1;
    }
   public String hello2() {
            System.out.println(address1);
        } 

yaml文件

bash 复制代码
  address:
  - beijing
  - shanghai

2. 使用environment方法

.java文件

bash 复制代码
@Autowired
    private Environment env;
@RequestMapping("/hello2")
    public String hello2() {

        System.out.println(env.getProperty("person.name"));
        System.out.println(env.getProperty("address[0]"));
    
        }

3. @configuraProperties方法

首先定义一个person类

bash 复制代码
package com.itheima.springbootinit;

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

@Component
@ConfigurationProperties(prefix = "person")
public class Person {

    private String name;
    private int age;
    private String[] address;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String[] getAddress() {
        return address;
    }

    public void setAddress(String[] address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

.java文件

bash 复制代码
@RestController
public class HelloController {
  @Autowired
    private Person person;

@RequestMapping("/hello2")
    public String hello2() {
        System.out.println(person);
        String[] address = person.getAddress();
        for (String s : address) {
            System.out.println(s);
        }
}
相关推荐
苍何40 分钟前
30分钟用 Agent 搓出一家跨境网店,疯了
后端
ssshooter1 小时前
Tauri 2 iOS 开发避坑指南:文件保存、Dialog 和 Documents 目录的那些坑
前端·后端·ios
追逐时光者1 小时前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
后端·.net
程序员飞哥1 小时前
90后大龄程序员失业4个月终于上岸了
后端·面试·程序员
白慕慕1 小时前
文档网站大全
学习
彭于晏Yan3 小时前
Redisson分布式锁
spring boot·redis·分布式
GetcharZp3 小时前
Git 命令行太痛苦?这款 75k Star 的神级工具,让你告别“合并冲突”恐惧症!
后端
一轮弯弯的明月3 小时前
Python基础-速通秘籍(下)
开发语言·笔记·python·学习
Victor3564 小时前
MongoDB(69)如何进行增量备份?
后端
Victor3564 小时前
MongoDB(70)如何使用副本集进行备份?
后端