I found @Resource can also be applied at class level:
http://docs.oracle.com/javaee/5/tutorial/doc/bncjk.html
Class-Based Injection To use class-based injection, decorate the class with a @Resource annotation, and set the required name and type elements.
@Resource(name="myMessageQueue", type="javax.jms.ConnectionFactory") public class SomeMessageBean { ... }
Do you have any experience using @Resource this way?