首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@Resource批注在运行时为空

@Resource批注在运行时为空
EN

Stack Overflow用户
提问于 2010-06-13 07:28:14
回答 4查看 4.1K关注 0票数 2

我正在使用GlassFish v3。以下字段在类中声明:

代码语言:javascript
复制
@Resource
private javax.sql.DataSource _data_source;

下面是在web.xml中声明的:

代码语言:javascript
复制
<data-source>
  <name>java:app/env/data</name>
  <class-name>com.mysql.jdbc.Driver</class-name>
  <server-name>localhost</server-name>
  <port-number>3306</port-number>       
  <user>myUser</user>                           
  <password>myPass</password>
</data-source>

在运行时,_data_source为空。我做错了什么?

EN

回答 4

Stack Overflow用户

发布于 2010-06-13 07:40:27

你能试试这个吗:

代码语言:javascript
复制
@Resource(lookup = "java:app/env/data")
private DataSource _data_source;

另请参阅

  • DataSource Resource Definition in Java EE 6
票数 2
EN

Stack Overflow用户

发布于 2010-06-13 07:55:51

除了Pascal的回答:如果通过注解的注入不起作用(没有异常发生,字段只是空),问题通常是旧的部署描述符版本。对于Glasfish v3,您可以使用:

代码语言:javascript
复制
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
票数 1
EN

Stack Overflow用户

发布于 2010-07-30 21:29:10

尝试使用:

代码语言:javascript
复制
@Resource(lookup="java:app/env/data")
private DataSource _data_source;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3030483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档