当SpringBoot以war包运行时,获取applicationContext的方法

本文介绍了在SpringBoot项目打包为war包后,由于无法获取applicationContext导致数据库连接失败的问题。作者通过分析启动类,发现在war包模式下configure方法不调用setApplicationContext。最终解决方案是在新的启动类中重写onStartUp方法,调用setApplicationContext,从而成功获取上下文并确保接口正常运行。
摘要由CSDN通过智能技术生成

当SpringBoot以war包运行时,获取applicationContext的方法


最近接手别人的一个Spring Boot后台接口的项目的时候,发现其业务逻辑层,也就是与数据库连接的那一块代码没用使用现在主流的MyBatis等,用的还是较为原始的JdbcTemplate,其中某接口的业务逻辑层如下。

public boolean update_addbind(BindBean bb){
   
	  boolean flag = true;
	  String sqlTxt =
	          "INSERT INTO dbind (dev,dphone,dname) VALUE ('"
	          +bb.getDev()+"' , '"
	          +bb.getDphone()+"' , '"
	          +bb.getDname()+"' ) ";
	  JdbcTemplate jdbcTemplate = 
	  	(JdbcTemplate) SpringUtil.applicationContext.getBean("jdbcTemplate");
	  int i = 0;
	  i = jdbcTemplate.update(sqlTxt)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 出现"failed to load applicationcontext"的错误通常是由于Spring Boot应用程序的配置文件存在问题或者依赖项缺失导致的。以下是一些可能的解决方法: 1. 检查配置文件是否正确:检查application.properties或application.yml文件是否正确配置,括数据库连接、端口号等。 2. 检查依赖项是否完整:检查pom.xml文件中的依赖项是否完整,是否存在缺失的依赖项。 3. 检查名是否正确:检查名是否正确,名应该与类的路径一致。 4. 检查注解是否正确:检查注解是否正确,如@Service、@Component等。 5. 检查日志输出:查看日志输出,找到具体的错误信息,根据错误信息进行排查和解决。 希望以上方法能够帮助您解决问题。 ### 回答2: springboot是一种基于spring框架的快速开发应用程序的框架,有时在运行springboot时可能会出现“failed to load applicationcontext”的错误。这个错误通常是由于配置文件错误、依赖项问题等原因引起的。以下是一些解决方法: 1.检查配置文件:检查应用程序的配置文件是否正确加载,括application.properties、application.yml等。通过检查配置文件,可以排除配置错误引起的问题。 2.检查依赖项:运行springboot需要正确的依赖项支持。可以检查pom.xml文件以确保使用的依赖项是最新的版本和正确的版本。 3.检查扫描路径:springboot会自动扫描特定的和类。如果applicationcontext无法加载,可能需要检查扫描路径是否正确。 4.检查启动类:检查启动类是否正确配置,并且是否配置了正确的注释信息。 5.检查日志文件:使用日志文件跟踪错误。查看日志文件可以了解应用程序启动时的任何错误和异常。 6.删除缓存: 直接删除缓存目录,重新启动项目即可解决。 综上所述,如果出现“failed to load applicationcontext”的错误,可以通过检查应用程序的配置文件、依赖项、扫描路径、启动类等来排除错误。一旦确定错误,可以采取相应的措施来解决问题,确保应用程序可以成功的启动并运行。 ### 回答3: 在使用 Spring Boot 进行开发时,有时候会遇到 failed to load application context 的情况。这个错误意味着 Spring Boot 无法加载应用程序的上下文,这会导致应用程序无法启动。这个错误往往是由于以下几个原因导致的: 1. 依赖问题:可能是使用的库版本与 Spring Boot 版本不兼容,或是缺少某些依赖。解决方法是查看 Maven 或 Gradle 的依赖树,并排除掉不兼容的库。 2. 配置问题:可能是配置文件的格式或内容不正确,导致 Spring Boot 无法加载应用程序的上下文。解决方法是检查配置文件中的键和值是否正确,是否缺少必要的配置信息。 3.类路径问题:可能是缺少某些类或资源文件,导致 Spring Boot 无法加载应用程序的上下文。解决方法是检查依赖项是否正确引入,并确保所有类和资源文件都在类路径下。 4. 其他问题:还有可能是系统内存不足、端口被占用等其他原因导致的。解决方法是检查系统负载,调整应用程序配置,修改端口号等。 总之,failed to load application context 错误可能是由多种原因导致的,需要根据具体情况进行定位和解决。可以通过查看日志、使用调试工具等方式来排查问题,找到原因并进行相应的处理,才能使应用程序顺利启动。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值