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);
        }
}
相关推荐
xqqxqxxq27 分钟前
哈希表(HashMap)技术学习笔记
笔记·学习·散列表
生而为虫31 分钟前
[学习记录] 幼儿学习拼音html游戏
学习·游戏
AOwhisky37 分钟前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
GoGeekBaird1 小时前
Anthropic技能"(Skills)的经验分享
后端
王码码20351 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
郑洁文1 小时前
基于Spring Boot的流浪动物救助网站
java·spring boot·后端·毕设·流浪动物救助
xian_wwq1 小时前
【学习笔记】「大模型安全:攻击面演化史」第 07 篇-安全左移
人工智能·笔记·学习
秋雨梧桐叶落莳1 小时前
iOS——NSUserDefaults学习
学习·macos·ios·objective-c·cocoa
易小染3 小时前
AI-Agent学习-LangChain-01
学习·langchain
指令集梦境3 小时前
Cursor + Spring Boot实战:从零写一个RESTful API
spring boot·后端·restful