我使用spring依赖注入,我的项目中有以下类 - UserService / UserServiceImpl - RequestHandler
我将Webservice请求发送到RequestHandler类并调用createPostRequest()方法,但每次输出为 - >说Null
@controller("handler")
@Path("/UserManagement")
public class RequestHandler {
@Autowired
private UserService service;
@PermitAll
@POST
@Path("/save")
public String createPostRequest() {
if(service == null) {
System.out.println("Say Null");
}else{
System.out.println("Not Null");
service.printName();
}
return "success";
}
}
public interface UserService {
void saveUser(final String username);
}
@Service("service")
public class UserServiceImpl implements UserService {
public void printName(){
System.out.println("user serviceImpl exec");
}
}
application-context.xml
<context:component-scan base-package="com.xxxxxxxx.xxx" />
是否有扫描依赖项。
如果我用以下方式检查另一种主要方法,它会正常工作。输出 - &gt;用户serviceImpl exec
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("core-context.xml");
final RequestHandler userService = context.getBean("handler", RequestHandler.class);
userService.createPostRequest();
}
我通过Web服务调用RequestHandler类中的方法createPostRequest() - localhost:8080 / Test / UserManagement / save 它执行并说服务对象为空。 并给出输出 - &gt;说Null
我想通过Web服务执行该方法。我用来通过网络服务打电话的方式是错误的还是我错过的?提前谢谢。
答案 0 :(得分:0)
你试过了吗?
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
而不是
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
我认为spring servlet可以设置spring注释属性。这是一个理论。