如果您对如何配置Spring-Boot应用程序以继续使用RestEasy?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如何配置Spring-Boot应用程序以继续使用Re
如果您对如何配置Spring-Boot应用程序以继续使用RestEasy?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于如何配置Spring-Boot应用程序以继续使用RestEasy?的详细内容,我们还将为您解答spring boot应用的相关问题,并且为您提供关于java – 如何从docker命令行设置参数来配置spring boot应用程序?、java – 如何配置Spring-Boot应用程序继续使用RestEasy?、Java如何为Spring Boot应用程序配置端口、Jboss EAP上的springBoot应用程序,未放置servlet上下文的有价值信息。
本文目录一览:- 如何配置Spring-Boot应用程序以继续使用RestEasy?(spring boot应用)
- java – 如何从docker命令行设置参数来配置spring boot应用程序?
- java – 如何配置Spring-Boot应用程序继续使用RestEasy?
- Java如何为Spring Boot应用程序配置端口
- Jboss EAP上的springBoot应用程序,未放置servlet上下文
如何配置Spring-Boot应用程序以继续使用RestEasy?(spring boot应用)
我有一个旧的Web应用程序(纯servlet,没有Spring),我想以胖子的身份运行。这个程序提供了很多REST服务。我不想修改旧代码。
如何配置Spring-Boot应用程序以继续使用RestEasy?
答案1
小编典典您可以使用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,它将被自动注册。请参见下面的示例。见 JAX-
RS应用程序的注册方法, 在如何使用的RESTEasyspring引导启动进一步的信息。
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提供程序必须是单例的。
有关更多信息,请访问项目GitHub页面。
java – 如何从docker命令行设置参数来配置spring boot应用程序?
我有一个带有yml的spring boot应用程序,可以在docker containter中配置它.
像这样的东西:
spring: application:
name: micro-example
config:
uri: ${vcap.services.config-service.credentials.uri:http://xxx.xxx.xx.73:8888}
正如你所看到的,我的配置中有一个ip硬编码,这是一个坏主意,因为编译仅适用于服务器.
是否存在外部化ip的方法,或者从docker命令行或更好的想法设置它?
解决方法:
有很多不同的方法可以做到:
1)设置环境变量(在shell中使用export VCAP_SERVICES_CONfig-SERVICE_CREDENTIALS_URI =’http://example.com’,或在Dockerfile中使用ENV)
2)将其作为JVM参数传递(java -Dvcap.services.config-service.credentials.uri = http://example.com -jar app.jar)
3)将其作为命令行参数传递(java -jar app.jar –vcap.services.config-service.credentials.uri = http://example.com)
4)Spring Boot还从config / application.properties或application.properties读取值,这些值与可执行JAR文件位于同一目录中,因此可以提供此文件(可以使用VOLUME)并覆盖JAR中的设置
另见:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
java – 如何配置Spring-Boot应用程序继续使用RestEasy?
这个应用程序提供了很多REST服务.我不想修改旧代码.
如何配置Spring-Boot应用程序继续使用RestEasy?
解决方法
添加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提供者必须是单例.
Further information at the project GitHub page.
Java如何为Spring Boot应用程序配置端口
如何解决Java如何为Spring Boot应用程序配置端口?
正如在所述的文档任一组server.port
使用命令行选项来JVM中的系统属性-Dserver.port=8090
或添加application.properties
在/src/main/resources/
与
server.port=8090
对于随机端口使用
server.port=0
解决方法
如何配置Spring Boot应用程序侦听的TCP / IP端口,因此它不使用默认端口8080。
Jboss EAP上的springBoot应用程序,未放置servlet上下文
我有一个非常简单的spring boot应用程序,我想将其部署到Jboss EAP。这是我的简单应用程序类:
@SpringBootApplicationpublic class MayurApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(MayurApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(applicationClass); } private static Class<MayurApplication> applicationClass = MayurApplication.class;}@RestControllerclass GreetingController { @RequestMapping("/hello/{name}") String hello(@PathVariable String name) { return "Hello, " + name + "!"; }}
而且我的pom.xml也很基础。当我在Tomcat上运行此应用程序时,使用嵌入式Tomcat随Spring
Boot一起提供。只需单击一下,一切都变得像魅力。我可以访问http://localhost:8080/demo/hello/World
,它也可以工作。
现在,我试图使其与Jboss EAP兼容,使之脱离spring-boot-starter-
web,从而禁用了Tomcat,并将其转换为war项目。(如http://spring.io/blog/2014/03/07/deploying-
spring-boot-applications文章所述)。
我还补充说:
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency>,
因为它在抱怨。
现在,所有这些都可以很好地编译并发动战争。当我将此战争复制到jboss部署时,可以看到它已成功部署在控制台上。但是其余的apihttp://localhost:8080/demo/hello/World
不能正常工作,并不断在浏览器上引发错误:
JBWEB000068: message /demo/hello/WorldJBWEB000069: description JBWEB000124: The requested resource is not available.
我究竟做错了什么?
答案1
小编典典我在JBoss 6.4.0中遇到了类似的问题。和Spring Boot 1.3与Tiles 3结合使用。安装Jboss补丁jboss-eap-6.4.6-patch.zip之后,问题已解决。
修补后,我不需要使用设置server.servlet-path = / *
显然,“ /”在Jboss EAP 6.3上不起作用,但是“ / *”有效。他们似乎已经用wildfly 8修复了它
今天关于如何配置Spring-Boot应用程序以继续使用RestEasy?和spring boot应用的介绍到此结束,谢谢您的阅读,有关java – 如何从docker命令行设置参数来配置spring boot应用程序?、java – 如何配置Spring-Boot应用程序继续使用RestEasy?、Java如何为Spring Boot应用程序配置端口、Jboss EAP上的springBoot应用程序,未放置servlet上下文等更多相关知识的信息可以在本站进行查询。
本文标签: