• Spring Boot


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 ayziba-&& 2024-04-21 20:21 采纳率: 30% 浏览 2 首页/ 后端 / Spring Boot spring boot spring boot请问这是哪儿出错了2024-04-21 20:20:01.811 WARN 6104 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userInfoMyBatisController': Unsatisfied dependency expressed through field 'userInfoService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userInfoService' defined in file [D:\Javaenvironment\workspace\mngsys\target\classes\soft3\mngsys\service\UserInfoService.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\Javaenvironment\workspace\mngsys\target\classes\mapping\UserInfoMapping.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\Javaenvironment\workspace\mngsys\target\classes\mapping\UserInfoMapping.xml]'. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserInfo'. Cause: java.lang.ClassNotFoundException: Cannot find class: UserInfo 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-21 20:21
      关注

      引自免费微信小程序:皆我百晓生

      看起来你在启动Spring Boot应用时遇到了一个错误。这个错误提示是关于MyBatis映射文件中的类型别名问题。为了解决这个问题,你需要检查以下几个方面:

      1. 确认实体类存在: 确保你的项目中有名为UserInfo的实体类,并且在类路径中可以被找到。例如,如果你的包结构是soft3.mngsys.entity.UserInfo, 那么这个类应该在这个位置。

      2. 实体类与类型别名匹配: 在UserInfo类上,确保你有一个注解来定义类型别名,例如:

        package soft3.mngsys.entity;
        
        import org.apache.ibatis.type.Alias;
        
        @Alias("UserInfo")
        public class UserInfo {
            // 类体内容...
        }
        
      3. Mapper接口和XML映射文件: 检查你的Mapper接口(比如UserInfoMapper.java)是否正确引用了UserInfo类,并且在对应的XML映射文件(如UserInfoMapping.xml)中也正确地使用了类型别名。

      4. Mapper接口: 在UserInfoMapper.java中,确保有正确的方法声明,例如:

        package soft3.mngsys.mapper;
        
        import org.apache.ibatis.annotations.Select;
        import soft3.mngsys.entity.UserInfo;
        
        public interface UserInfoMapper {
            @Select("SELECT * FROM user_info WHERE id = #{id}")
            UserInfo getUserById(int id);
        }
        
      5. Mapper XML映射文件: 在UserInfoMapping.xml中,确保使用了正确的别名,例如:

        xml version="1.0" encoding="UTF-8" ?>
        
        <mapper namespace="soft3.mngsys.mapper.UserInfoMapper">
            <select id="getUserById" resultType="UserInfo">
                SELECT * FROM user_info WHERE id = #{id}
            select>
        mapper>
        
      6. 清理并重新构建项目: 在进行了上述更改后,记得清除项目的target目录,然后重新编译项目。这可以帮助解决类找不到的问题。

      7. 检查pom.xml依赖: 确保你的pom.xml文件包含了MyBatis和MyBatis-Spring的依赖项,如下所示:

        
        <dependencies>
            
            <dependency>
                <groupId>org.mybatis.spring.bootgroupId>
                <artifactId>mybatis-spring-boot-starterartifactId>
                <version>2.3.0version>
            dependency>
            <dependency>
                <groupId>mysqlgroupId>
                <artifactId>mysql-connector-javaartifactId>
            dependency>
            
        dependencies>
        
        

        如果你的数据库不是MySQL,替换为相应的数据库驱动连接器。

      执行以上步骤后,你应该能成功启动你的Spring Boot应用程序。如果有任何问题,或者你仍然遇到困难,请告诉我具体信息,我会进一步帮助你。

      展开全部

      评论 编辑记录
    • Kwan的解忧杂货铺 Java领域优质创作者 2024-04-21 20:22
      关注

      晚上好🌙🌙🌙
      本答案参考ChatGPT-3.5

      这个错误是由于在解析MyBatis配置文件时出错导致的,错误提示中显示找不到类 UserInfo,可能原因有以下几种:

      1. 未正确配置MyBatis的typeAliases,使其无法找到 UserInfo 类。可以在MyBatis配置文件中添加以下代码:

        
            <typeAlias type="full.qualified.package.name.UserInfo" alias="UserInfo"/>
        typeAliases>
        
      2. UserInfo 类路径有误,导致无法加载类。可以检查以下代码中的类路径是否正确:

        org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserInfo'. Cause: java.lang.ClassNotFoundException: Cannot find class: UserInfo
        
      3. MyBatis配置文件中的标签中的namespace属性与UserinfoMapper接口的全限定名不一致,导致找不到映射文件。可以检查以下代码:

        namespace="full.qualified.package.name.UserinfoMapper">
        

      解决方案:

      1. 确保配置文件中声明的类路径和实际的类路径一致。
      2. 确保配置文件中已经正确配置了类的别名。
      3. 确保mapper接口的命名空间(namespace)与实际的mapper文件的名称相同。

      如果以上解决方案不能解决问题,请检查以下项:

      • 检查UserInfoMapper.xml中是否存在语法错误。
      • 检查pom.xml中依赖项的版本是否正确。
      • 检查MapperScan中的包路径是否正确。

      如果还不能解决问题,请提供更多的错误信息和代码,以便更好的帮助你解决问题。

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    pdp部分依赖图
    Go入门系列:你好,世界
    Ubuntu22.04Desktop桌面版设置静态Ip 221027记录
    haas506 2.0开发教程-sntp(仅支持2.2以上版本)
    一起来作画吧「GitHub 热点速览 v.22.14」
    蓝桥杯算法双周赛心得——迷宫逃脱(记忆化搜索)
    “华为杯”研究生数学建模竞赛2015年-【华为杯】A题:水面舰艇编队防空和信息化战争评估模型
    前端基础之《ECMAScript 6(8)—Promise》
    Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III
    Linux进程信号的处理
  • 原文地址:https://ask.csdn.net/questions/8092437