我在管理控制台中创建了新的DataSource到MySQL。(名称: MySqlDS,JNDI: java:/jdbc/MySqlDB)
如果我加载它:
initialContext = new InitialContext();
dataSource = (DataSource) initialContext.lookup("java:/jdbc/MySqlDB");
connection = dataSource.getConnection();`它正常工作。
但如果我装的是:
@Resource(lookup="java:/jdbc/MySqlDB")
private static DataSource dataSource;它不起作用,dataSource是空的。
其他信息:
发布于 2016-06-03 08:26:37
问题解决了。这是我的错。
只有当容器管理bean的生命周期时,依赖注入才能工作。在这种情况下,容器将嵌入依赖项。
我的错误是:我手动创建了bean的new实例,而不是使用@EJB注释。它位于依赖关系层次结构的顶部。这就是为什么我看不见它。容器无法填充所有嵌套注入bean的所有依赖项。
https://stackoverflow.com/questions/37585114
复制相似问题