【发布时间】:2023-04-02 05:37:02
【问题描述】:
我正在编写一个从特定数据模式中检索数据的库。这个库包含一个可以是任何东西的 Datasource 对象。现在我已经在库中定义了我想避免的数据源的名称。
import javax.sql.DataSource
public class MyLibraryDao.java {
private static final DS_NAME = "MY_DS_NAME";
@Resource(name = "default", lookup = DS_NAME , type = DataSource.class)
protected DataSource dataSource;
}
DAO 类不直接暴露给客户端。中间有一个服务层:
import javax.inject.Inject;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Model;
@ApplicationScoped
@Model
public class MyLibraryService {
@Inject
MyLibraryDao dao;
}
现在,如何将数据源对象传递给库?
我假设我需要在 DAO 中创建一个带有 DataSource 的构造函数,但是服务呢? 该库将在 CDI 环境中使用。
【问题讨论】:
-
是的,它是 javax.sql.DataSource 不,我没有使用 Spring