zoukankan      html  css  js  c++  java
  • STS中不同包但相同类名引起的问题:A component required a bean of type 'javax.activation.DataSource' that could not be found

    1. 问题输出:

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

    Description:

    A component required a bean of type 'javax.activation.DataSource' that could not be found.


    Action:

    Consider defining a bean of type 'javax.activation.DataSource' in your configuration.

    2. 源码:

    package boat.db.db;

    import javax.activation.DataSource
    import org.springframework.beans.BeansException;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    import org.springframework.stereotype.Component;

    @Component
    public class DataSourceShow implements ApplicationContextAware {
    @Autowired
    ApplicationContext applicationContext = null;
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    this.applicationContext = applicationContext;
    DataSource dataSource = applicationContext.getBean(DataSource.class);
    System.out.println("----------------------------------------------");
    System.out.println(dataSource.getClass().getName());
    System.out.println("----------------------------------------------");
    }

    }

    解决:

    起初以为是配置问题,增加了依赖项,并不起作用。

    后仔细研究原例子发现,DataSource类不是 javax.activation.DataSource,而是import javax.sql.DataSource

    改了后,正常运行

    总结:

    java有很多依赖项中有很多同名,但不同包的类型,所以使用时要注意

  • 相关阅读:
    zabbix系列 ~ mongo监控相关
    zabbix系列 ~ 自动监控多实例功能
    mysql 查询优化 ~ 多表查询改写思路
    MGR架构~高可用架构细节的梳理
    mysql 半同步复制~ 整体概述与改进
    android 单独编译某个模块
    Nginx使用
    21天学通C++学习笔记(九):类和对象
    1. 个人经验总结
    C++视频教程学习笔记
  • 原文地址:https://www.cnblogs.com/myboat/p/11493215.html
Copyright © 2011-2022 走看看