我目前正在阅读java-ee 教程中的资源注入章节,我无法理解注入资源后使用资源的方式,或者换句话说,以何种方式可以访问它:
基于字段的注入:
public class SomeClass {
@Resource(name="customerDB")
private javax.sql.DataSource myDB;
...
}
基于方法的注入:
public class SomeClass {
private javax.sql.DataSource myDB;
...
@Resource(name="customerDB")
private void setMyDB(javax.sql.DataSource ds) {
myDB = ds;
}
...
}
基于类的注入:
@Resource(name="myMessageQueue",
type="javax.jms.ConnectionFactory")
public class SomeMessageBean {
...
}
我想class-based
只有用lookup
(究竟如何?)才有可能。然而,在前两种情况下,应该如何使用资源,尤其是当它另外定义名称时?
更新:
如果不完全清楚,我的问题涉及以下主题:
1)在field-
或者method-based injection
我是否访问资源,例如:
myDB.someMethod();
或者
customerDB.someMethod();
如果第一个是正确的,那么 的目的是name
什么?我也可以访问它lookup
吗?
2)我如何访问它class-based injection
?我想lookup
在哪条路径下?