如何配置Spring Boot非Web项目运行环境教程?

2026-06-10 18:097阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计428个文字,预计阅读时间需要2分钟。

如何配置Spring Boot非Web项目运行环境教程?

目前有一个非Web项目:例如,一个Kafka的消费者端,监听某个消息topic,并处理相应的消息,通过其他API发送通知或短信给相关人员。此时想使用Spring Boot运行,但不需要依赖web、tomcat、jdbc。

现在有一个非web项目: 比如一个kafka的消费端, 监听某个消息topic, 并处理对应的消息通过其他api发送通知或者短信给相关人员. 这时候想使用Spring Boot运行, 但又不需要依赖web, tomcat, jdbc这些

依赖如下:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>

这时候 SpringBootApplication 的程序入口在执行完main方法后直接exit了, 现在需要hold应用程序防止直接退出, 有两种方法:

如何配置Spring Boot非Web项目运行环境教程?

  • 实现 CommandLineRunner 接口在run方法中通过 Thread.currentThread().join() 使得应用程序在执行run方法时阻塞, 这样程序就可以保持运行
  • 通过 Spring Boot 提供的配置(推荐):
    • Spring Boot 2.0.0 以上的版本: spring.main.web-application-type=NONE // REACTIVE, SERVLET
    • Spring Boot 2.0.0 之前的版本: spring.main.web-environment=false

参考:

  1. SpringBoot 非 Web 项目运行
  2. Spring Boot without the web server

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对自由互联的支持。

标签:

本文共计428个文字,预计阅读时间需要2分钟。

如何配置Spring Boot非Web项目运行环境教程?

目前有一个非Web项目:例如,一个Kafka的消费者端,监听某个消息topic,并处理相应的消息,通过其他API发送通知或短信给相关人员。此时想使用Spring Boot运行,但不需要依赖web、tomcat、jdbc。

现在有一个非web项目: 比如一个kafka的消费端, 监听某个消息topic, 并处理对应的消息通过其他api发送通知或者短信给相关人员. 这时候想使用Spring Boot运行, 但又不需要依赖web, tomcat, jdbc这些

依赖如下:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>

这时候 SpringBootApplication 的程序入口在执行完main方法后直接exit了, 现在需要hold应用程序防止直接退出, 有两种方法:

如何配置Spring Boot非Web项目运行环境教程?

  • 实现 CommandLineRunner 接口在run方法中通过 Thread.currentThread().join() 使得应用程序在执行run方法时阻塞, 这样程序就可以保持运行
  • 通过 Spring Boot 提供的配置(推荐):
    • Spring Boot 2.0.0 以上的版本: spring.main.web-application-type=NONE // REACTIVE, SERVLET
    • Spring Boot 2.0.0 之前的版本: spring.main.web-environment=false

参考:

  1. SpringBoot 非 Web 项目运行
  2. Spring Boot without the web server

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对自由互联的支持。

标签: