Я читаю в настоящее время главу resource injection in the java-ee tutorial и я не могу постигнуть путь один грим использование ресурса после того, как внедрить его, или, другими словами, каким образом один имеет доступ к нему:доступ к впрыскивается ресурс в EJB
поле основе Инъекции:
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;
}
...
}
основе классов Injection:
@Resource(name="myMessageQueue",
type="javax.jms.ConnectionFactory")
public class SomeMessageBean {
...
}
Я полагаю, в class-based
возможно только с lookup
(как именно?). Однако в первых двух случаях, как использовать ресурс, особенно если он определен дополнительно с именем?
UPDATE:
В случае это не совсем понятно, что мой вопрос относится к следующим темам:
1) в field-
или method-based injection
я получить доступ к ресурсу, как:
myDB.someMethod();
или
customerDB.someMethod();
Если первое правильно, в чем цель name
? Могу ли я получить к нему доступ также с lookup
?
2) Как я к нему обращаюсь в class-based injection
? Я полагаю, что с lookup
, но по какому пути?
Вы используете инъекционные поля внутри всех методов бина, как вы бы использовать любое другое поле в любом другом классе Java. Я не понимаю ваш вопрос. –
@JBNizet: Я обновил вопрос. – arjacsoh