application配置文件读取!

application配置文件读取!

application配置文件读取!

  • application配置文件读取!
  • 前言
  • 一、上代码!
    • application.yml
    • maven
    • HeddConfiguration.java
    • All.java
    • HeddService.java
  • 总结


前言

上篇文章发布了yml得创建方式!本篇主题是读取配置文件得值


一、上代码!

application.yml

hedd:
  #单字
  younger-brother: 小弟
  little-brother: 小兄弟
  #类数据
  all:
    bigSister: 大妹子
    littleGirl: 小妹子
    #组数据
    ofAll:
      yourUncle: 你大爷,你三大爷,你二大爷

maven

  <!--注释器配置 -> 读取配置文件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!--配置提示-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

HeddConfiguration.java

/*,
@Configuration:用于定义配置类,可替换xml配置文件,

被注解的类内部包含有一个或多个被@Bean注解的方法,

这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,

初始化Spring容器。*/
@Configuration
/*
 *读取配置
 * */
@ConfigurationProperties("hedd")
public class HeddConfiguration {
     

    private String youngerBrother;

    private String littleBrother;

    private All all;



    public String getYoungerBrother() {
     
        return youngerBrother;
    }

    public void setYoungerBrother(String youngerBrother) {
     
        this.youngerBrother = youngerBrother;
    }

    public String getLittleBrother() {
     
        return littleBrother;
    }

    public void setLittleBrother(String littleBrother) {
     
        this.littleBrother = littleBrother;
    }

    public All getAll() {
     
        return all;
    }

    public void setAll(All all) {
     
        this.all = all;
    }


}

All.java


/**
 * @Classname All
 * @Description TODO
 * @Date 2021/1/16 11:16
 * @Created by Mr.He
 */
public class All {
     

    private String bigSister;
    private String littleGirl;
    private List<String> ofAll;

    public String getBigSister() {
     
        return bigSister;
    }

    public void setBigSister(String bigSister) {
     
        this.bigSister = bigSister;
    }

    public String getLittleGirl() {
     
        return littleGirl;
    }

    public void setLittleGirl(String littleGirl) {
     
        this.littleGirl = littleGirl;
    }

    public List<String> getOfAll() {
     
        return ofAll;
    }

    public void setOfAll(List<String> ofAll) {
     
        this.ofAll = ofAll;
    }

    @Override
    public String toString() {
     
        return "All{" +
                "bigSister='" + bigSister + '\'' +
                ", littleGirl='" + littleGirl + '\'' +
                ", ofAll=" + ofAll +
                '}';
    }
}

HeddService.java


@Slf4j //日志
/*
*@Component
*
*把普通pojo实例化到spring容器中,相当于配置文件中的
*
)
*
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
*
* */
@Component
public class HeddService {
     

    /*
    * @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,
    *
    * 完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。
    *
    * 在使用@Autowired之前,
    *
    * */
    @Autowired
    private HeddConfiguration heddConfiguration;

    /*
    * @PostConstruct
    *
    * 该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,
    *
    * 并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。
    *
    *通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:
    *
    *Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
    *
    * */
    @PostConstruct
    public void init() {
     
        log.info("-------------------------------开始--------------------------------------------");
        log.info("Get current configuration Single word",heddConfiguration.getYoungerBrother());
        log.info("Get current configuration Single word",heddConfiguration.getLittleBrother());
        log.info("Get current configuration Class data",heddConfiguration.getAll());
        log.info("-------------------------------结束--------------------------------------------");
    }
}



总结

各位看官觉得不错请不要吝啬三连

你可能感兴趣的:(java,spring,boot)