我有一个旧的Web应用程序(纯servlet,没有
Spring),我想以fat-jar的形式运行.
这个应用程序提供了很多REST服务.我不想修改旧代码.
如何配置Spring-Boot应用程序继续使用RestEasy?
这个应用程序提供了很多REST服务.我不想修改旧代码.
如何配置Spring-Boot应用程序继续使用RestEasy?
解决方法
您可以使用RESTEasy Spring Boot启动程序.这是你如何做到的:
添加POM依赖项
将下面的Maven依赖项添加到Spring Boot应用程序pom文件中.
<dependency> <groupId>com.paypal.springboot</groupId> <artifactId>resteasy-spring-boot-starter</artifactId> <version>2.1.1-RELEASE</version> <scope>runtime</scope> </dependency>
注册JAX-RS应用程序类
只需将您的JAX-RS应用程序类(Application的子类)定义为Spring bean,它就会自动注册.请参阅下面的示例.有关详细信息,请参阅How to use RESTEasy Spring Boot Starter中的JAX-RS应用程序注册方法部分.
package com.test; import org.springframework.stereotype.Component; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @Component @ApplicationPath("/sample-app/") public class JaxrsApplication extends Application { }
注册JAX-RS资源和提供程序
只需将它们定义为Spring bean,它们就会自动注册.请注意,JAX-RS资源可以是单例或请求作用域,而JAX-RS提供者必须是单例.