学透Spring Boot — 015. 自废武功——关闭主动设置

[复制链接]
发表于 2025-9-30 02:37:33 | 显示全部楼层 |阅读模式
这是我的《学透Spring Boot》专栏的第15篇文章,相识更多请移步我的专栏:CSDN Postnull的专栏《学透Spring Boot》
目次
碰到的题目
分析日志日志
主动设置的过程
办理报错
方法1:添加数据库设置
方法2:关闭JPA主动设置
总结



碰到的题目

有一天,我在pom.xml中引入了一些依赖,再次启动应用,发现启动报错了


分析日志日志

日志日志,实在已经很显着了。

由于我们classpath下有数据库相干的类,但是却没有设置数据库
比如


  • url
  • username & password
  • driver-class-name

主动设置的过程

这是由于我们在pom.xml中引入了数据库有关的依赖

然后Spring Boot在启动的过程中,会去实验主动设置JPA。
它是通过读取org.springframework.boot.autoconfigure.AutoConfiguration.imports 这个文件,找到
JPA的主动设置类DataSourceAutoConfiguration
   它的目标是为了主动创建和设置 dataSource这个对象。
  


这个设置类会根据条件来主动设置

   可以打开spring boot的debug日志(debug=true)来查察这个设置类是否见效。
  可以看到,这个JPA主动设置类是见效了的。

这个设置类去会设置DataSource
   JPA默认利用的是Hikari数据源
  

  

然后去加载设置时,找不到驱动类设置,直接抛出非常,应用启动失败。


办理报错

方法1:添加数据库设置

有几种方案,第一种是添加数据库有关的设置。
application.properties

如许应用可以启动乐成。各种JPA有关的Bean主动创建并设置。

方法2:关闭JPA主动设置

偶尔间,我们引入了JPA依赖,但是我们的数据库临时挂了,我们想启动应用,测试别的非数据库交互的模块,这个时间怎么办呢?

我们可以临时关闭JPA的主动设置

如许应用就可以启动了
   须要注意的是,如许的关闭主动设置偶尔间会导致应用启动报错。
  比如我们项目中已经添加了JPARepository的情况下
  

  这时启动会报错:
  

  
总结

通过这个例子,我们应该可以更进一步地明确Spring Boot对JPA的主动设置。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表