2

零:前言

初学Spring + Angular才不到一周时间,刚打开第一个Spring的示例项目,在运行时就出现了错误。
图片.png
代码如下:

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

Disconnected from the target VM, address: '127.0.0.1:50367', transport: 'socket'

Process finished with exit code 1

又重新看了一次我所学习的教程,教程中只给了一个Spring开发手册的链接,却没有给出连接数据库的具体步骤,或许,老师的意思,是想让我们看开发文档自己学习。
图片.png
于是,我打开了这个链接
图片.png
Spring的开发文档很具体,从环境要求到如何建立数据库、如何连接,都说的很清楚,只不过由于是英文,读起来有一些难度。

一:连接数据库

我们需要找到的,是设置数据库的那个配置文件,所以开发文档中许多内容我们并不需要。
终于,我找到了下面这一段:
图片.png
大概的翻译内容是:Spring给你提供了许多的默认设置,然而,对于数据库的配置你需要自己来进行。然后把这一段代码写在配置文件中:

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword

我们需要把第二行的localhost改成自己的地址,3306是数据库端口,db_example改成要访问的数据库名称。
把第三行的username改成数据库的用户名,第四行password是数据库的密码,如下:
图片.png
保存,启动,通过编译
图片.png
(上图表示成功运行,请勿在意网页内容)

二、遇到错误以及解决

当软件能跑起来之后,继续写代码,却发现真正需要用到数据库的时候,报错了...
图片.png
“空白页”问题之前出现了很多次,初学的时候不知道报错的关键信息是什么,后来才知道与之前所学的ThinkPHP不同的是,最关键的信息没有放在第一行,而是最后一行的Failed to obtain JDBC Connection; nested exception is java.sql.SQLSyntaxErrorException: Unknown database 'db_example'
我恍然大悟,它找不到db_example,原来是我由于比较粗心,只改了数据库的地址用户名密码,而忘了改库名...
图片.png
按照库名修改了配置文件之后:
图片.png
再次运行,成功显示JSON对象。
图片.png
细心很重要

后记

曾经学习的ThinkPHP5.1,它的报错界面是这样的:
图片.png
最醒目的位置,是最重要的信息,然后马上给出报错代码,无疑,这种显示方式,对于小白来说更友好。
当然Spring的这种错误显示方式,或许也有它的道理,至于具体为什么,还要等自己更深入的学习之后才能找到答案。


LYX6666
1.6k 声望74 粉丝

一个正在茁壮成长的零基础小白