Spring Boot笔记二:快速创建以及yml文件自动注入

  上个笔记写了如何自己去创建Spring boot,以及如何去打jar包,其实,还是有些麻烦的,我们还自己新建了几个文件夹不是。

  Idea可以让我们快速的去创建Spring boot应用,来看

一、快速创建Spring boot

 

 没啥讲的了,点击完成之后,我们需要等待几分钟,Idea会帮我们下载配置一些东西。

二、yml文件和自动注入

配置文件这个,我不打算细说,粗略的介绍一下,用的时候去百度就好了,目前已知的配置文件

1.xml

2.properties

3.yml

这三个里面,我最喜欢的是yml,最不喜欢的是xml

举个例子,比如的的name是许嵩,age是32

yml的写法是这样的:(中间一定有个空格)

name: 许嵩
age: 32

而xml的写法是这样的。。。。。苍天啊。。。。

<name>许嵩</name>
<age>32</age>

书归正传,我们开始写了

首先,我们创建两个类,一个Person,一个Dog

package com.vae.springboot.study.bean;


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

import java.util.Date;
import java.util.List;
import java.util.Map;

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

    private String name;
    private Integer age;
    private Boolean boss;
    private Date  birth;
    private Map<String,Object> maps;
    private List<String> lists;
    private Dog dog;

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

    public Boolean getBoss() {
        return boss;
    }

    public void setBoss(Boolean boss) {
        this.boss = boss;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

    public Map<String, Object> getMaps() {
        return maps;
    }

    public void setMaps(Map<String, Object> maps) {
        this.maps = maps;
    }

    public List<String> getLists() {
        return lists;
    }

    public void setLists(List<String> lists) {
        this.lists = lists;
    }

    public Dog getDog() {
        return dog;
    }

    public void setDog(Dog dog) {
        this.dog = dog;
    }

    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;
    }
}
package com.vae.springboot.study.bean;

public class Dog {
    private String name;
    private Integer age;

    @Override
    public String toString() {
        return "Dog{" +
                "name='" + name + '\'' +
                ", 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;
    }
}

这里有一个非常重要的一点,一定要写ToString方法,我为了省事,没写这个,结果注入之后没有显示出来 一定要写!

OK,现在来讲一下

@Component   这个是加入到spring容器中
@ConfigurationProperties(prefix = "person")  这个是把类和我们的配置文件进行关联,找的是person

 我们再新建一个yml文件,如图:

 虽然上面有了一个properties,但是不管他,这俩是谁有谁起效,都有都一样的话properties起效,貌似是

看看我的yml里面写的啥

person:
    age: 32
    name: Vae
    birth: 1985/05/14
    boss: false
    maps: {k1: v1,k2: 12}
    lists:
     - 许嵩
     - 林俊杰
    dog:
      name: 格洛米
      age: 3

看看测试里面

 自动注入已经写完了,我再次重复一下两个特别重要的点

1.主程序是在study包下面,所有的类啊,Controller啊啥的,必须在study包下面,只有这样,主程序才能对他们起效

2.类,必须写Tostring方法................................

 

猜你喜欢

转载自www.cnblogs.com/yunquan/p/10332060.html
今日推荐