Dropwizard学习笔记(2)配置类和启动类

作者: 麻辣阁 分类: Java 发布时间: 2019-02-18 23:46

创建配置类

  • 运行jar包时需要指定使用的 YAML 配置文件
  • 创建的配置类可以使用指定的 YAML配置文件中的部分内容生成实例: YAML 为配置类提供实例化数据
  • 如果配置类中没有定义如何使用 YAML配置文件中的数据, 就不会使用 YAML 中的相关内容

官方示例中的配置文件内容实际定义了俩变量:

template: Hello, %s!
defaultName: Stranger

只有在配置类中定义了如何使用上述变量, 才会用到 YAML配置文件的内容. YAML配置文件的内容是可以有冗余的.

package xyz.mylog;

import io.dropwizard.Configuration;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.*;

public class HelloWorldConfiguration extends Configuration {
    // TODO: implement service configuration
    @NotEmpty
    private String template;

    @NotEmpty
    private String defaultName = "陌生人";

    @JsonProperty
    public String getTemplate(){
        return template;
    }

    @JsonProperty
    public String getDefaultName(){
        return defaultName;
    }

    @JsonProperty
    public void setTemplate(String template){
        this.template=template;
    }

    @JsonProperty
    public void setDefaultName(String defaultName){
        this.defaultName = defaultName;
    }
}

启动类

入口函数会调用run方法启动.

package xyz.mylog;

import io.dropwizard.Application;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;

public class HelloWorldApplication extends Application<HelloWorldConfiguration> {

    public static void main(final String[] args) throws Exception {
        new HelloWorldApplication().run(args);
    }

    @Override
    public String getName() {
        return "HelloWorld";
    }

    @Override
    public void initialize(final Bootstrap<HelloWorldConfiguration> bootstrap) {
        // TODO: application initialization
    }

    @Override
    public void run(final HelloWorldConfiguration configuration,
                    final Environment environment) {
        // TODO: implement application
    }

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注