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);
        }
}
相关推荐
小安同学iter5 分钟前
SpringMVC(五)拦截器
java·开发语言·spring boot·spring·java-ee
鱼樱前端6 分钟前
前端程序员集体破防!AI工具same.dev像素级抄袭你的代码,你还能高傲多久?
前端·javascript·后端
Dann Hiroaki9 分钟前
文献分享: 对ColBERT段落多向量的剪枝——基于学习的方法
学习·算法·剪枝
Test.X13 分钟前
学习15天:pytest
学习·pytest
梁萌19 分钟前
搭建Spring Boot Admin监控系统
spring boot·监控·admin·springbootadmin
小呀小萝卜儿21 分钟前
2025-03-13 学习记录--C/C++-PTA 练习2-3 输出倒三角图案
c语言·学习
羊思茗52024 分钟前
Spring Boot中@Valid 与 @Validated 注解的详解
java·spring boot·后端
尤宸翎41 分钟前
Julia语言的饼图
开发语言·后端·golang
穆韵澜1 小时前
SQL语言的云计算
开发语言·后端·golang
太阳吖1 小时前
学习笔记之注册用户如何防止缓存穿透
笔记·学习·缓存