首页 > 其他分享 >230114_50_SpringBoot入门

230114_50_SpringBoot入门

时间:2023-01-14 21:33:31浏览次数:60  
标签:SpringBoot age dog 50 230114 org import public name

  • 主启动类详解
package com.bill;

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

@SpringBootApplication
public class SpringbootApplication {

   public static void main(String[] args) {
      SpringApplication.run(SpringbootApplication.class, args);
   }

}
  • 1.SpringApplication(引用自狂神说)

这个类主要做了以下四件事情:

1、推断应用的类型是普通的项目还是Web项目

2、查找并加载所有可用初始化器 , 设置到initializers属性中

3、找出所有的应用程序监听器,设置到listeners属性中

4、推断并设置main方法的定义类,找到运行的主类

  • 类的构造方法
public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) {
    // ......
    this.webApplicationType = WebApplicationType.deduceFromClasspath();
    this.setInitializers(this.getSpringFactoriesInstances();
    this.setListeners(this.getSpringFactoriesInstances(ApplicationListener.class));
    this.mainApplicationClass = this.deduceMainApplicationClass();
}
  • run方法调用关系图(引用自狂神说)

  • springboot配置
  • application.yaml语法格式
# k=v
# 对空格的要求十分高
# 普通的key-value

# 可以注入到配置类中

#
name: bill

# 对象
student0:
  name: bill
  age: 4

student1: {name: bill,age: 6}

# 数组
pets0:
  - dog
  - cat
  - fish

pets1: [dog,cat,fish]
  • 举例说明通过yaml配置文件,可以给配置类注入参数

  • 新建一个dog类,通过添加注解@Component将dog类变成一个组件;通过添加@Value注解给属性赋值

package com.bill;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @Auther: wangchunwen
 * @Date: 2023/1/14 - 01 - 14 - 21:08
 * @Description: com.bill
 * @version: 1.0
 */
@Component
public class Dog {
    @Value("lulu")
    private String name;
    @Value("1")
    private Integer age;

    public Dog(){

    }

    public Dog(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
  • 测试类,通过@Autowired注解,自动注入dog实例,无需new一个对象;直接将实例dog打印
package com.bill;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class SpringbootApplicationTests {

   @Autowired
   private Dog dog;

   @Test
   void contextLoads() {
      System.out.println(dog);
   }

}

运行结果:

标签:SpringBoot,age,dog,50,230114,org,import,public,name
From: https://www.cnblogs.com/wcwblog/p/17052601.html

相关文章

  • SpringBoot中使用SpringSecurity
    1.maven配置<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>2.新建html页面去......
  • springboot中的一些常用的知识
    1.lomboklombok就是为了简化代码的@Data注释@Data@AllArgsConstructor@NoArgsConstructorpublicclassPerson{privateStringname;privateStringadd......
  • Redis 6 学习笔记 3 —— 用SpringBoot整合Redis的踩坑,了解事务、乐观锁、悲观锁
    SpringBoot整合Redis时踩到的坑jdk1.8环境,用idea的SpringInitializr创建springboot项目,版本我选的2.7.6。pom文件添加的依赖如下,仅供参考。注意commons-pool2选错版本......
  • springboot @Autowried报错
     原因:没啥,就是idea偶尔有薄毛病 解决:作用是屏蔽一些无关紧要的警告。使开发者能看到一些他们真正关心的警告。从而提高开发者的效率@SuppressWarnings("all")......
  • SpringBoot——核心原理入门
    SpringBoot概述BuildAnythingwithSpringBoot:**SpringBootisthestartingpointforbuildingallSpring-basedapplications.SpringBootisdesignedtoget......
  • SpringBoot——初始化器解析
    初始化器Spring是一个扩展性很强的容器框架,为开发者提供了丰富的扩展入口,其中一个扩展点便是ApplicationContextInitializer(应用上下文初始化器)。 ApplicationConte......
  • 50-Docker-分布式仓库Harbor高可用
    Harbor介绍基于角色的访问控制:用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限镜像复制:镜像可在多个Re......
  • SpringBoot——监听器解析
    监听器模式监听器模式有要素事件监听器广播器触发机制系统监听器监听器ApplicationListener@FunctionalInterfacepublicinterfaceApplicationListener<Eext......
  • Luogu7509 撕裂消除 - 期望dp -
    题目链接:https://www.luogu.com.cn/problem/P7509题解:设\(dp[i][j][0/1]\)表示考虑到第\(i\)个位置,已经形成了极大的\(j\)段,当前位置为0/1的期望值;\(g[i][j][0......
  • 【题解】P5030 长脖子鹿放置(网络流)
    长脖子鹿放置题目背景众周所知,在西洋棋中,我们有城堡、骑士、皇后、主教和长脖子鹿。题目描述如图所示,西洋棋的“长脖子鹿”,类似于中国象棋的马,但按照“目”字攻击,且没......