资源注射是从JavaEE 5.0开始出现,实现了Tomcat在启动时自动将web.xml中的配置信息“注射”到Servlet中。资源注射是通过Annotation完成,Annotation是一种特殊的接口,以"@"为标志,用法如下:
@Resource (name="messageNameInWebXml")
private String message;
有时为了简洁,上面的两行代码可以缩写为一行:
private @Resource(name="messageNameInWebXml") String message;
加入@Resource注释后,Tomcat会在Servlet运行时将变量message的值注入,这个值设置在web.xml中名为messageNameInWebXml的参数中。
下面用实例来说明:
package com.hello.servlet;
import java.io.*;
import javax.annotation.Resource;
import javax.servlet.*;
import javax.servlet.http.*;
public class InjectionServlet extends HttpServlet{
private @Resource(name="hello") String hello;
private @Resource(name="i") int i;