//servlet代码如下
public class WorkServlet extends HttpServlet {
@Reference(interfaceName = "com.hlink.base.service.CacheService")
private CacheService cacheService;
@Reference(interfaceName = "com.hlink.userFile.Service.UserFileService")
private UserFileService userFileService;
private static final Logger logger = Logger.getLogger(WorkServlet .class);
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
logger .info(cacheService);
cacheService.setStringValue("key","value");
}
}
spring-bean.xml配置:
web.xml配置
<servlet>
<servlet-name>headHandlerServlet</servlet-name>
不知道为什么引用失败
因为服务提供方的配置是确认没问题的,在非servlet中调用都没有问题
可以尝试扩展 HttpServletBean
如果没记错的话,servlet默认不属于spring容器的bean, 所以你这个注解是不被扫描的。
可以将这个servlet使用spring的方式 ServletRegistrationBean 来把这个servlet注册到spring容器里...
参考 @mercyblitz @Gonzo-Tan 的回复,要使用spring作用域内的实现才可以,原生是无法注入的