http://www.cnblogs.com/wzhanke/p/4844849.html
java:comp/env和JNDI是不同的,很多人都有一些混淆,甚至认为这个就是JNDI名称。其实,java:comp/env 是环境命名上下文(environment naming context(ENC),是在EJB规范1.1以后引入的,引入这个是为了解决原来JNDI查找所引起的冲突问题。比如你要把一个EJB的Jar包部署到两台Server,而这两台Server共享一台JNDI名字空间,此时问题就出来了,因为JNDI名字空间要求JNDI名字必须唯一。使用ENC查找,将可以避免这个冲突,EJB或者J2EE应用的移植性也提高了。 ENC是一个引用,引用是用于定位企业应用程序的外部资源的逻辑名。引用是在应用程序部署描述符文件中定义的。在部署时,引用被绑定到目标可操作环境中资源的物理位置( JNDI 名)。使用ENC是把对其它资源的JNDI查找的硬编码解脱出来,通过配置这个引用可以在不修改代码的情况下,将引用指向不同的EJB(JNDI)。
http://f543711700.iteye.com/blog/1173618
http://www.cnblogs.com/sunniest/p/4539817.html
果然是这样,就是如果一个类实现了ApplicationContextAware这个接口,这个类可以不配置在spring里面,但是一定要有它的子类配置在spring里面,这样才能获取applicationContext容器,然后就可以用了。
http://www.cnblogs.com/sunniest/p/4555801.html