在web.xml中使用资源注射(@Resource)

资源注射是从JavaEE 5.0开始出现,实现了Tomcat在启动时自动将web.xml中的配置信息“注射”到Servlet中。资源注射是通过Annotation完成,Annotation是一种特殊的接口,以"@"为标志,用法如下:

有时为了简洁,上面的两行代码可以缩写为一行:

加入@Resource注释后,Tomcat会在Servlet运行时将变量message的值注入,这个值设置在web.xml中名为messageNameInWebXml的参数中。

下面用实例来说明:

下一步,在web.xml中使用标签<env-entry>来配置资源。<env-entry>仅能配置java.lang包下标准类型的变量,如String, Integer, Double等。配置后的代码如下:


资源注射的原理:JNDI

InjectionServlet实例中使用<env-entry>配置了名为hello, i, persons的JNDI资源,然后使用@Resource将指定名称的JNDI资源注射到InjectionServlet里。如果不使用@Resource,直接通过JNDI也可以获取这三个参数,代码如下:




注:参考《Java Web整合开发》一书

你可能感兴趣的:(resource)