我是 Dropwizard 的新手。在最新的文档中,它将“服务”称为任何应用程序的主要入口点。但是在示例代码中,它实际上使用了“应用程序”。我假设“应用程序”是“服务”的新名称,因为我在新的源代码中找不到“服务”。
我还注意到命名空间已从“com.yammer”更改为“com.codehaus”到“io.dropwizard”。我假设它反射(reflect)了项目本身的演变。只是出于好奇,任何人都可以为这是如何发生的添加一些背景信息吗?
最佳答案
您引用的两个命名更改实际上都是即将发布的 0.7 版的更改。文档还不是最新的(根据邮件列表,实际上是阻碍 0.7 版本发布的主要因素)。
当前的发行说明可以在 master branch 中找到。 .
io.dropwizard
组 ID 和命名空间。 dropwizard-configuration
,dropwizard-jackson
, dropwizard-jersey
, dropwizard-jetty
, dropwizard-lifecycle
,dropwizard-logging
, dropwizard-servlets
, dropwizard-util
, dropwizard-validation
. Environment
的各种元素分隔类:JerseyEnvironment
,LifecycleEnvironment
等dropwizard-views-freemarker
和 dropwizard-views-mustache
.dropwizard-views
现在只提供基础设施。 Service
至 Application
. dropwizard-forms
,它提供对多部分 MIME 实体的支持。 dropwizard-spdy
. AppenderFactory
,允许应用程序和请求的任意日志附加程序日志。
ConnectorFactory
,允许任意 Jetty 连接器。 ServerFactory
,具有多连接器和单连接器实现。 ReporterFactory
,对于指标报告者,使用 Graphite 和 Ganglia 实现。 ConfigurationSourceProvider
允许从其他来源加载配置文件文件系统。
ServerFactory
.要绑定(bind)到特权端口(例如 80),请启用 startAsRoot
并设置 user
和 group
,然后以 root 用户身份启动您的应用程序。 check
命令,用于加载和验证服务配置。 dropwizard-client
添加了对 Jetty HTTP 客户端的支持. deflate
的支持- 编码的请求和响应。 @Session HttpSession session
注入(inject) session 上下文。 到您的资源方法:
@Session Flash message
注入(inject)任何现有的 Flash 消息。 enums
带有模糊匹配规则(即空格剥离,
-
/_
等价、不区分大小写等)。 HibernateBundle#configure(Configuration)
用于自定义 Hibernate 配置。 DateTime
使用 JDBI 时的参数和结果。 现在默认排除。
习俗。
--migrations-file
migrate
的命令行选项命令提供迁移文件明确。
application/json
回应。 AsyncRequestLog
;现在标准化为 Jetty 9 NCSA 格式。 DatabaseConfiguration
至 DataSourceFactory
, 和 ConfigurationStrategy
到DatabaseConfiguration
. 交付给配置的 appender(s)。
并将提供对问题的更有用的描述,包括适当的建议。
dropwizard-db
使用 tomcat-jdbc
而不是 tomcat-dbcp
. ResourceTest
与 ResourceTestRule
, 一个 JUnit TestRule
. ManagedSessionFactory
. ObjectMapperFactory
;使用 ObjectMapper
反而。 Validator
;使用 javax.validation.Validator
反而。 dropwizard-migrations
中的关闭错误. 关于java - Dropwizard 中应用和服务的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20754557/