@Autowired-service层注入对象为 null
springboot整合axis2生成webservice的wsdl文档的例子,这个是我在网上找到的 ,请参考:/donghc/demo
/dong945221578/article/details/71429735
错误描述:在生成wsdl文档后,服务端想在程序中调用其他service的方法 ,但使用@autowired注入是发现是null,无法使用service中的方法
客户端调用异常:
AxisFault
faultCode: {/soap/envelope/}
faultSubcode:
faultString:
faultActor:
faultNode:
faultDetail:
{/axis/}stackTrace:
at (Unknown Source)
at (Unknown Source)
at (:246)
at (:538)
解决办法:使用SpringContextUtils工具类注入 在调用方法
SpringContextUtils代码:
package ;
import ;
import ;
import ;
import ;
/**
* Spring容器工具类
* @author lv
*
*/
@Component("springContextUtils")
public class SpringContextUtils implements ApplicationContextAware {
/**
* Spring应用上下文环境
*/
private static ApplicationContext applicationContext;
/**
* 实现ApplicationContextAware接口的回调方法,设置上下文环境
*
* @param applicationContext
*/
public void setApplicationContext(ApplicationContext applicationContext) {
= applicationContext;
}
/**
* @return ApplicationContext
*/
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/**
* 获取对象
*
* @param name
* @return Object
* @throws BeansException
*/
public static Object getBean(String name) throws BeansException {
return (name);
}
/**
* 根据class获取对应的bean对象
* @param clz
* @return
*/
public static Object getBean(Class<?> clz){
return (clz);
}
}
使用方式:
Webservice webservice = (Webservice) ();