我试图使用RatPack.groovy中的ServerConfig
块合并服务器和数据库配置,但是在试图创建数据源时PostgreSconfig
为空。
@Compile Static
class PostgresConfig {
String user
String password
String serverName
String databaseName
Integer portNumber
}
PostgreSmodule.groovy
@CompileStatic
class PostgresModule extends ConfigurableModule<PostgresConfig> {
@Override
protected void configure() {
}
@Provides
DataSource dataSource(final PostgresConfig config) {
createDataSource(config)
}
protected DataSource createDataSource(final PostgresConfig config) {
new PgSimpleDataSource(
user: config.user,
password: config.password,
serverName: config.serverName,
databaseName: config.databaseName,
portNumber: config.portNumber
)
}
}
RatPack.groovy
ratpack {
serverConfig {
props([
'postgres.user': 'username',
'postgres.password': 'password',
'postgres.serverName': 'localhost',
'postgres.databaseName': 'postgres',
'postgres.portNumber': 5432
] as Map<String, String>)
yaml "config.yaml"
env()
sysProps()
require("/postgres", PostgresConfig)
}
bindings {
PostgresConfig postgresConfig
module HikariModule, { HikariConfig config ->
config.dataSource = new PostgresModule().dataSource(postgresConfig)
}
}
}
在Bindings
块中,可以引用ServerConfig
配置,从而获得配置的PostgreSconfig
。在您的用例中,您不需要require(“/Postgres”,PostgresConfig)
语句。
您可以使PostgresModule
类不扩展ConfigurableModule
,因为它不作为模块使用。
ratpack {
serverConfig { ... }
bindings {
module HikariModule, { HikariConfig config ->
config.dataSource = new PostgresModule().dataSource(serverConfig.get("/postgres", PostgresConfig)
}
}
}
我正在尝试构建一个自定义的< code>NavBar,带有一些可选的< code >视图,比如searchbar(但前提是视图需要显示它)。 基本上,我需要在视图中传递一些带有参数。 下面是一个示例: 我所说的属性是和。但是执行 或 会引发编译错误: 无法将类型“绑定?”的值分配给类型“绑定” 你知道我该如何解决这个问题吗? 还是有更好的方法来做我想做的事?
我想在 init 方法中默认 returnGroup 为 nil,但是我收到以下错误 Nil 默认参数值无法转换为类型 'Binding' 想知道如何将绑定设置为 nil ?
每一个Ruby块中,都包含了代码以及对应的绑定。当你定义一个块的时候,它会夺过当时环境的绑定,而当你执行一个带块的方法的时候,它又会传递这个绑定。 def who person = "Matz" yield("rocks") end person = "Matsumoto" who do |y| puts("#{person}, #{y} the world") # => Mats
对于主应用程序中的类,所有这些注释都按预期工作。 如何定义模块内自动配置的顺序?
问题内容: 起作用但是 没有。 我无法在python中绑定+ 。是否有所有可能按键的文档? 问题答案: 用途: 我没有指向这些事件名称的完整列表的链接。这是我收集的部分清单:
问题内容: 我认为这在几个月前就可以解决了。常规命令行泊坞窗: 可以正常工作,但是我无法在docker-py中工作: ..总是告诉我,新的不存在。应该如何使用docker-py完成? 问题答案: 以下是进行卷绑定的当前工作方式: