16

寻找我发现的 dropwizard 示例:

https://github.com/codahale/dropwizard/tree/master/dropwizard-example

但我对至少一个更完整的示例感兴趣:

  1. 客户 - 账户等 1:n 关系
  2. 至少带有表单的 html gui 表示
  3. 对 xml 的全面支持

三分之二将是一个开始,并且会被我“接受”。

4

7 回答 7

19

看看我的一些Dropwzard 项目

特别是MultiBit Merchant项目(管理、商店和平台)将为您提供丰富的演示代码,展示如何在 Dropwizard 中完成工作。还有一个使用 Dropwizard 的 OpenID 示例,它应该为新应用程序提供良好的启动点。

它们都是 MIT 许可下的 FOSS。

于 2012-12-18T16:19:39.727 回答
7

沃尔夫冈,

这是一个示例 Dropwizard 应用程序,其中使用了使用 Hibernate 的身份验证、配置和数据库访问。

该应用程序在几个教程中进行了讨论:

这是另一个示例,可以为经过身份验证的用户存储书签并通过 REST API 访问数据

祝你好运。

于 2015-11-10T07:48:03.560 回答
4

这看起来也是一个很好的例子:https ://github.com/spinscale/dropwizard-blog-sample

于 2013-07-03T10:00:18.790 回答
2

我在Dropwizard XML Bundle项目中写了一个示例:

https://github.com/yunspace/dropwizard-xml/tree/master/dropwizard-xml-example

它可能是最接近您正在寻找的东西。它有:

  • Pirates 和 Ships 之间的 1:N 关系,存储在 H2 db 中。
  • 使用带有验证的自定义 JacksonMessageBodyProvider 对 XML 的完全 CRUD 支持。

通过 Freemarker 或 Mustache 模板添加 HTML gui 应该非常简单,并且在标准文档中有介绍。

于 2014-12-05T11:53:00.107 回答
2

想要使用身份验证的 dropwizard 的一个很好的例子。

Dropwizard:身份验证、配置和 HTTPS https://dzone.com/articles/getting-started-dropwizard-0

于 2015-07-12T00:39:02.060 回答
0

你可以从 Github 尝试这个项目。

Dropwizard:CRUD 操作、HTML 视图、Healthcheck

https://github.com/HoldInArms/dropwizard-mssql-crud-example

于 2016-10-15T06:01:18.220 回答
-2

请按照以下步骤操作。

  1. 在 pom 文件中添加依赖

    <dependencies>
    <dependency>
        <groupId>com.yammer.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
        <version>0.6.2</version>
    </dependency> 
    

  2. 创建配置类

    import com.yammer.dropwizard.config.Configuration;
    public class BlogConfiguration extends Configuration{
    
     }
    
  3. 创建服务类

       import com.yammer.dropwizard.Service;
       import com.yammer.dropwizard.config.Bootstrap;
       import com.yammer.dropwizard.config.Environment;
    
       public class BlogService extends Service<BlogConfiguration> {
    
       public static void main(String[] args) throws Exception {
       new BlogService().run(new String[] { "server",
       "C:\\LocalEnv\\Workspace\\dropwizarddemo\\configuration.yml" });
        }
    
        @Override
       public void initialize(Bootstrap<BlogConfiguration> bootstrap) {
       bootstrap.setName("blog");
       }
    
       @Override
        public void run(BlogConfiguration configuration, 
        Environment    environment) throws Exception {
        environment.addResource(new IndexResource());
        }
    
      }
    

注意:将下面的 configuration.yml 文件放在当前目录中

       # HTTP-specific options.
       http:

       # The port on which the HTTP server listens for service requests.
       port: 8079

       # The port on which the HTTP server listens for administrative
       # requests.
       adminPort: 8179

      # Maximum number of threads.
      maxThreads: 100

      # Minimum number of thread to keep alive.
      minThreads: 10

4.写入索引资源。

     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.List;
     import javax.ws.rs.GET;
     import javax.ws.rs.Path;
     import javax.ws.rs.Produces;
     import javax.ws.rs.core.MediaType;


    import com.yammer.metrics.annotation.Timed;

    @Path("/")
    public class IndexResource {

   @GET
   @Produces(value = MediaType.APPLICATION_JSON)
   @Timed
   public List<Blog> index() {
    return Arrays.asList(new Blog("for Java Developers",
   "http://stackoverflow.com/questions/13345693/looking-for-a-dropwizard-
    example”));
   }


   @Path("/service")


   @GET
   @Produces(value = MediaType.APPLICATION_JSON)
   @Timed
   public List<Users> users() {
    List<Users> list = new ArrayList<Users>();
    list.add(new Users(25,"Sambhu","SA"));
    list.add(new Users(35,"Amit","VP"));
    list.add(new Users(45,"Sanket","AVP"));


    return list;
    }


  }
  1. 为博客和用户写 POJO

     public class Users {
    
    
     Integer id;
     String name;
     String designation;
    
     public Users(Integer id, String name, String desination){
    this.id=id;
    this.name=name;
    this.designation=desination;
    }
    
    public Integer getId() {
    return id;
    }
    public void setId(Integer id) {
    this.id = id;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getDesignation() {
    return designation;
    }
    public void setDesignation(String designation) {
    this.designation = designation;
    }
    @Override
    public String toString() {
    return "Users [id=" + id + ", name=" + name + ", designation="
            + designation + "]";
    }
    
  2. 运行 BlogService ,它将启动 Jetty 服务器并使用 http://localhost:8079/等端口访问 localhost

于 2016-01-25T11:38:18.313 回答