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);
        }
}
相关推荐
豆沙沙包?3 小时前
5.学习笔记-SpringMVC(P61-P70)
数据库·笔记·学习
他҈姓҈林҈3 小时前
使用 Spring Boot 进行开发
spring boot
每次的天空4 小时前
Android学习总结之Room篇
android·学习·oracle
柏油5 小时前
MySQL InnoDB 行锁
数据库·后端·mysql
咖啡调调。5 小时前
使用Django框架表单
后端·python·django
Java&Develop5 小时前
onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
前端·spring boot·编辑器
白泽talk5 小时前
2个小时1w字| React & Golang 全栈微服务实战
前端·后端·微服务
摆烂工程师5 小时前
全网最详细的5分钟快速申请一个国际 “edu教育邮箱” 的保姆级教程!
前端·后端·程序员
一只叫煤球的猫5 小时前
你真的会用 return 吗?—— 11个值得借鉴的 return 写法
java·后端·代码规范
Asthenia04126 小时前
HTTP调用超时与重试问题分析
后端