我使用此代码通过 jndi 查找访问数据库连接。
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("TestDB");
Connection connection = datasource.getConnection();
它工作正常。后来我用注释替换了它,用下面的代码做同样的事情。
@Resource(name="TestDB")
DataSource datasource;
methodName(){
if(datasource!=null){
Connection connection = datasource.getConnection();}
else{
System.out.println("Datasource is null");
}
}
但我得到“数据源为空”。我也尝试使用 @Resource(lookup="TestDB") 但仍然得到“DataSource is null”。为什么数据源为空?