Spring Boot非Web项目运行配置的方法教程

 更新时间:2019年09月10日 15:43:46   作者:加林  
这篇文章主要介绍了Spring Boot非Web项目运行配置的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

现在有一个非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应用程序防止直接退出, 有两种方法:

  • 实现 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

总结

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

相关文章

  • Java模拟qq软件的详细过程

    Java模拟qq软件的详细过程

    这篇文章主要为大家详细介绍了用Java实现模拟QQ,实现了消息通信+登陆界面美化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Java 栈和队列的相互转换详解

    Java 栈和队列的相互转换详解

    栈和队列,严格意义上来说,也属于线性表,因为它们也都用于存储逻辑关系为 "一对一" 的数据,但由于它们比较特殊,因此将其单独作为一章,做重点讲解
    2022-02-02
  • SpringBoot中Bean拷贝及工具类封装的实现

    SpringBoot中Bean拷贝及工具类封装的实现

    本文主要介绍了SpringBoot中Bean拷贝及工具类封装的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Java 递归查询部门树形结构数据的实践

    Java 递归查询部门树形结构数据的实践

    本文主要介绍了Java 递归查询部门树形结构数据的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • java实现转圈打印矩阵算法

    java实现转圈打印矩阵算法

    这篇文章主要为大家详细介绍了java实现转圈打印矩阵算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 轻松搞定SpringBoot JPA使用配置过程详解

    轻松搞定SpringBoot JPA使用配置过程详解

    Spring Boot是由Pivotal团队提供的全新框架,该框架使用了特定的方式来进行配置,它默认配置了很多框架的使用方式,就像 Maven整合了所有的Jar包,Spring Boot 整合了所有的框架
    2021-06-06
  • SpringBoot整合BCrypt实现密码加密

    SpringBoot整合BCrypt实现密码加密

    这篇文章主要为大家详细介绍了SpringBoot整合BCrypt进行密码加密,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • SpringCloud分布式事务Seata部署和集成过程

    SpringCloud分布式事务Seata部署和集成过程

    这篇文章主要介绍了SpringCloud分布式事务Seata部署和集成过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • java中BigDecimal用法详解

    java中BigDecimal用法详解

    本文详细讲解了java中BigDecimal的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Java SPI 机制知识点总结

    Java SPI 机制知识点总结

    在本篇文章里小编给大家整理的是一篇关于Java SPI 机制知识点总结内容,需要的朋友们可以参考下。
    2020-02-02

最新评论