用 CXF 框架写的 webservice 中实现类中,实现了一个带参构造函数而启动服务出错,提示无法实例化该类;
错误现象: Caused by: java.lang.InstantiationException: com.jiewen.posp.ws.PospServiceImpl
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.cxf.jaxws.spring.EndpointDefinitionParser.loadImplementor(EndpointDefinitionParser.java:158)
... 38 more
解决方法:添加一个无参构造函数即可;
原因: CXF 利用了反射机制,需要默认的无参构造函数;如果自己定义了带参构造函数,则默认的无参构造函数就没有了。