程序员社区

java 读取 application配置文件

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
/*
 *读取配置java项目源码 www.fhadmin.org
 * */
@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
 * @java项目源码 www.fhadmin.org
 */
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容器中,相当于配置文件中的
*
<bean id="" class=""/>)
*
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
*java项目源码 www.fhadmin.org
* */
@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("-------------------------------结束--------------------------------------------");
    }
}


wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

赞(0) 打赏
未经允许不得转载:IDEA激活码 » java 读取 application配置文件

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区