java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot项目URL访问异常

SpringBoot项目URL访问异常的问题处理

作者:小chen爱学java

这篇文章主要介绍了SpringBoot项目URL访问异常的问题处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

SpringBoot项目URL访问异常

一,启动类与所在包的组件的位置,一定要在同一个包并行,不能直接在java下;

二,访问路径问题,要与Controller一致;

三,是不是项目本身的问题呢,访问URL后

{
    "timestamp": "2023-06-16 13:13:21",
    "status": 500,
    "error": "Internal Server Error",
    "message": "Invalid bound statement (not found): com.atguigu.yygh.hosp.mapper.HospitalSetMapper.selectList",
    "path": "/admin/hosp/hospitalSet/findAll"
}

问题在于:

"Invalid bound statement (not found): com.atguigu.yygh.hosp.mapper.HospitalSetMapper.selectList",

原因:

依赖放在父模块的pom.xml文件中,子模块没有继承到父模块的依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本</version>
</dependency>

SpringBoot项目中数据库的url 突然不能用

原因

我在启动springboot项目的时候,突然报了一个错误

***************************
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).

找了老半天,才发现bug所在,是因为我在之前为了引入java包下的mybatis的mapper.xml文件,在pom,xml中引用了一下的代码

<build>
        <resources>
            <resource>
                <!-- java文件中一般会忽略,因为我们的xml文件是放在java文件下 所以我们要将它忽略,也就是要打包-->
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

所以说 在resources文件夹下的yaml文件没有能够打包进入

解决办法

<build>
        <resources>
            <resource>
                <!-- java文件中一般会忽略,因为我们的xml文件是放在java文件下 所以我们要将它忽略,也就是要打包-->
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yaml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

这是我所遇到的问题的答案,下面是一些其他的解决方案。

其他解决方案

排除数据源的自动配置类

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

检查配置文件中的信息是否填写正确

 datasource: # mysql数据库连接
     type: com.zaxxer.hikari.HikariDataSource
     driver-class-name: com.mysql.cj.jdbc.Driver
     url: jdbc:mysql:///alibaba?serverTimezone=GMT%2B8&characterEncoding=utf-8
     username: root
     password: root

剩下还有比如 符号转义,在properties和yaml文件中是不需要符号转义的,这也是它所强大的一点

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文