【发布时间】:2019-12-10 08:38:54
【问题描述】:
我正在编写简单的 CRUD 应用程序,该应用程序将从 database 获取人员记录,并且我正在使用 SparkJava 框架我有工作代码可以获取database 中的记录,但我想提取 JOOQ DSLContext 代码并将其作为 bean 注入并在另一个类中初始化它以获得更多更简洁的代码,但我不确定如何实现它,这是目前包含所有内容的主要方法:
public static void main(String[] args) throws IOException {
final BasicDataSource ds = new BasicDataSource();
final Properties properties = new Properties();
properties.load(BankApiApplication.class.getResourceAsStream("/application.properties"));
ds.setDriverClassName(properties.getProperty("db.driver"));
ds.setUrl(properties.getProperty("db.url"));
ds.setUsername(properties.getProperty("db.username"));
ds.setPassword(properties.getProperty("db.password"));
final ConnectionProvider cp = new DataSourceConnectionProvider(ds);
final Configuration configuration = new DefaultConfiguration()
.set(cp)
.set(SQLDialect.H2)
.set(new ThreadLocalTransactionProvider(cp, true));
final DSLContext ctx = DSL.using(configuration);
final JSONFormat format = new JSONFormat().format(true).header(false).recordFormat(JSONFormat.RecordFormat.OBJECT);
port(8080);
get("/persons", (request, response) -> {
return ctx.select().from(Person.PERSON).fetch().formatJSON();
});
}
如何提取初始化 Datasource 和配置 DSLContext 的代码,而我可以只注入 DSLContext 或某种 DSLContextHolder 并进行查询?
【问题讨论】:
标签: java guice jooq spark-java