当前位置: 首页 > 工具软件 > Dropwizard > 使用案例 >

dropwizard介绍

陆飞捷
2023-12-01

重要组成

  1. 嵌入式Jetty – 一个应用程序被打包成一个Jar文件,并开始自已嵌入的Jetty容器。除此之外无任何其它war文件和外部servlet容器 for HTTP
  2. JAX-RS : Jersey, 用来写基于REST的Web服务 for REST
  3. JSON:REST服务数据传递处理全部用JSON,使用Jackson库 for JSON
  4. 日志:使用 Logback 和SLF4 for LOG
  5. 数据库:使用Hibernate,集成ORM框架 for DB
  6. 指标:使用Metrics, Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同时,Metrics能够很好的跟Ganlia、Graphite结合,方便的提供图形化接口。 for metrics

web服务组成

  1. Configuration:用于设置该服务的配置,比方说在服务开放在哪个端口,数据库配置是怎样的等等。
  2. Service:该服务的主入口,定义该服务使用哪个配置文件,开放哪些Resource,该服务需要哪些HealthCheck等等。
  3. Resource:定义一个资源,包括如何获取该资源,对该资源做Get/Post/Delete/PUT时,对应的各种业务逻辑。
  4. Representation:定义了一个服务返回值对象,当服务返回该对象时,会自动的把该对象按属性值生成一个Json格式的字符串返回给服务调用者。
  5. HealthCheck:在DropWizard为每个服务提供的OM框架中用到,通过它可以随时检测当前服务是否可用。

开发步骤

  1. 创建一个Maven工程
  2. 创建一个配置类和YAML配置文件
  3. 闯将启动类
  4. 创建普通POJO类
  5. 创建Resource类,并注册 environment.jersey().register(new UiframeResource ())
  6. 运行

dropwizard配置类介绍

每个Dropwizard应用都有一个对应配置类,用于指定特定的环境参数。这个配置类扩展自 io.dropwizard.Configuration类,应用启动时,系统将从YAML配置文件反序列化读取对应的参数。如下

package com.jsq.hibernate.config;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.dropwizard.Configuration;
import io.dropwizard.db.DataSourceFactory;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class HelloWorldConfiguration extends Configuration {
    private String template;
    private String defaultName = "Stranger";
    private DataSourceFactory database = new DataSourceFactory();
    @JsonProperty("database")
    public DataSourceFactory getDataSourceFactory() {
        return database;
    }
}

jersey使用文档s:https://eclipse-ee4j.github.io/jersey/

jersey资源类绑定

Jersey的标准用法,注册绑定资源类 按类进行注册:environment.jersey().register(new UiframeResource ()); 按资源包进行注册:environment.jersey().packages(API_RESOURCE);

dropwizard用户指南

https://dropwizard.github.io/dropwizard/0.8.0/docs/getting-started.html

 类似资料: