寻找我发现的 dropwizard 示例:
https://github.com/codahale/dropwizard/tree/master/dropwizard-example
但我对至少一个更完整的示例感兴趣:
- 客户 - 账户等 1:n 关系
- 至少带有表单的 html gui 表示
- 对 xml 的全面支持
三分之二将是一个开始,并且会被我“接受”。
寻找我发现的 dropwizard 示例:
https://github.com/codahale/dropwizard/tree/master/dropwizard-example
但我对至少一个更完整的示例感兴趣:
三分之二将是一个开始,并且会被我“接受”。
看看我的一些Dropwzard 项目
特别是MultiBit Merchant项目(管理、商店和平台)将为您提供丰富的演示代码,展示如何在 Dropwizard 中完成工作。还有一个使用 Dropwizard 的 OpenID 示例,它应该为新应用程序提供良好的启动点。
它们都是 MIT 许可下的 FOSS。
沃尔夫冈,
这是一个示例 Dropwizard 应用程序,其中使用了使用 Hibernate 的身份验证、配置和数据库访问。
该应用程序在几个教程中进行了讨论:
这是另一个示例,可以为经过身份验证的用户存储书签并通过 REST API 访问数据。
祝你好运。
这看起来也是一个很好的例子:https ://github.com/spinscale/dropwizard-blog-sample
我在Dropwizard XML Bundle项目中写了一个示例:
https://github.com/yunspace/dropwizard-xml/tree/master/dropwizard-xml-example
它可能是最接近您正在寻找的东西。它有:
通过 Freemarker 或 Mustache 模板添加 HTML gui 应该非常简单,并且在标准文档中有介绍。
想要使用身份验证的 dropwizard 的一个很好的例子。
Dropwizard:身份验证、配置和 HTTPS https://dzone.com/articles/getting-started-dropwizard-0
你可以从 Github 尝试这个项目。
Dropwizard:CRUD 操作、HTML 视图、Healthcheck
请按照以下步骤操作。
在 pom 文件中添加依赖
<dependencies>
<dependency>
<groupId>com.yammer.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId>
<version>0.6.2</version>
</dependency>
创建配置类
import com.yammer.dropwizard.config.Configuration;
public class BlogConfiguration extends Configuration{
}
创建服务类
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;
}
}
为博客和用户写 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 + "]";
}
运行 BlogService ,它将启动 Jetty 服务器并使用 http://localhost:8079/等端口访问 localhost