In web application.
ㅇ Container-managed
object에만 사용할 수 있다.
- container가 생성을 관리할 수 있어야 injection을 할 수있기 때문.
- 따라서 일반 Javabean에서는
사용할 수 없다. 그러나 JavaServer Faces에서
사용하는 bean에는 사용할 수 있다.
ㅇ Resource injection은 JSP에 사용할 수 없다.
- Resource Injection을 위한
annotaion은 deployment time에 적용되기 때문에 JSP에서는 사용할 수 없다.
Table 3-1 Web Components That Accept Resource Injections
Component |
Interface/Class |
Servlets |
javax.servlet.Servlet |
Servlet Filters |
javax.servlet.ServletFilter |
Event Listeners |
javax.servlet.ServletContextListener javax.servlet.ServletContextAttributeListener javax.servlet.ServletRequestListener javax.servlet.ServletRequestAttributeListener javax.servlet.http.HttpSessionListener javax.servlet.http.HttpSessionAttributeListener |
Taglib Listeners |
Same as above |
Taglib Tag Handlers |
javax.servlet.jsp.tagext.JspTag |
Managed Beans |
Plain Old Java Objects |
Declaring Resource
References
@Resource annotation은
deployment descriptor 내의 resource-ref element와 동일하다.
@Resource javax.sql.DataSource catalogDS;
public getProductsByCategory() {
// get a connection and execute the query
Connection conn = catalogDS.getConnection();
..
}
@Resources ({
@Resource (name="myDB"
type=java.sql.DataSource),
@Resource(name="myMQ"
type=javax.jms.ConnectionFactory)
})
Declaring a Reference
to a Web Service
The @WebServiceRef annotation
provides a reference to a web service. The following example shows uses the @WebServiceRef annotation to declare a reference to a web service. WebServiceRef uses the wsdlLocation element to specify the URI of the deployed service’s WSDL file:
...
import javax.xml.ws.WebServiceRef;
...
public class ResponseServlet extends HTTPServlet {
@WebServiceRef(wsdlLocation=
"http://localhost:8080/helloservice/hello?wsdl")
static HelloService service;
댓글 없음:
댓글 쓰기