有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javars+Spring

我正在学习Spring并尝试制作简单的SOA项目,我有一个简单的测试类:

@Path("/hello")
public class HelloWorldResource {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayhello() { return "hello"};
}

但我想要JAX-RS的接口和一些自动注入的实现:

@Path("/hello")
public interface HelloWorldResource {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    String sayhello();
}

public class HelloWorldImpl implements HelloWorldResource {
    @Override
    public String sayhello() {
        return "hello";
    }
}

我知道,在JavaEE中,我可以通过一个注释(例如@Stateless)来实现这一点 但是我怎样才能对Spring4+做同样的事情呢


共 (1) 个答案

  1. # 1 楼答案

    这篇文章提出了一些假设:

    1. 我假设您已经设置了资源发现,即您的servlet正确地将/hello路由到HelloWorldResource
      如果这对您来说没有任何意义,那么您需要考虑在servlet容器中注册Jax-RS资源
    2. 我假设您通过在web中注册org.springframework.web.context.ContextLoaderListener来设置Spring上下文。xml

    你需要在spring之前标记你的HelloWorldImpl。最简单的方法是在spring上下文中启用注释处理。xml(通过将其作为contextConfigLocation传递给ContextLoaderListener来加载)

    然后用@Controller标记HelloWorldImpl并在上下文中将其声明为bean就足够了。xml