• 使用通用mapper过程中出现NullPointerException异常


      已经配置的JdbcConfiguration代码如下

    @Configuration
    @EnableConfigurationProperties(JdbcProperties.class)
    public class JdbcConfiguration {

    @Autowired
    private JdbcProperties jdbcProperties;

    @Bean
    public DataSource dataSource() {
    DruidDataSource dataSource = new DruidDataSource();
    dataSource.setUrl(jdbcProperties.getUrl());
    dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
    dataSource.setUsername(jdbcProperties.getUsername());
    dataSource.setPassword(jdbcProperties.getPassword());
    return dataSource;
    }

    }

    使用通用mapper引入的依赖

    <!--jdbc的启动器,默认使用HikariCP连接池-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <!--不要忘记数据库驱动,因为springboot不知道我们使用的什么数据库,这里选择mysql-->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <!-- 通用mapper -->
    <dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.0.2</version>
    </dependency>

    在application.properties中


    spring.datasource.url=jdbc:mysql://localhost:3306/heima
    spring.datasource.username=root
    spring.datasource.password=root

    由于用@Configuration将JdbcConfiguration放入容器中,但是又没有配置文件,而通用mapper会优先利用容器中的dataSource等其他对象,这些对象是创建不出来的, 不会使用

    启动器中的而对象, 因此出现空指针异常

  • 相关阅读:
    [lab]csappattack
    [lab]csappbomb
    springboot 与 springcloud 的版本选型
    猜你喜欢推荐系统算法(笔记)
    java idea 自动生成单元测试模板
    RetryableException: Connection refused (Connection refused) executing POST http://ctsmessagecenter/.....
    git 学习整理
    echarts知识点汇总
    状态模式(C#)
    Ant Design of Vue select加载远程数据完善方案
  • 原文地址:https://www.cnblogs.com/zxq-Study-Java/p/9972400.html
Copyright © 2020-2023  润新知