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有很多依赖项中有很多同名,但不同包的类型,所以使用时要注意

STS中不同包但相同类名引起的问题:A component required a bean of type 'javax.activation.DataSource' that could not be found的更多相关文章

  1. SpringBoot中service注入失败(A component required a bean of type 'XXService' that could not found)

    先写了JUnit,发现启动不了,注释掉有问题的service也不可以.可能是因为spring开始时会加载所有service吧. 按照网友们的说法,一般需要检查: 1.入口类有没有写MapperScan ...

  2. jar包中存在包名和类名都相同的情况

    情况: 在maven中引入两个包都有项目的包名和类名,只是jar包的名字不同.两个包的一部分在代码中的不同地方都需要用到. 网上找的大部分都是: 只有改变编译器优先选择的jar顺序(这个顺序是可以改变 ...

  3. Android在一个APP中通过包名或类名启动另一个APP

    开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通 ...

  4. android中获取包名,类名

    LogUtil.i("getPackageName()=" + getPackageName()); //Context类 LogUtil.i("getClass().g ...

  5. java中源代码和lib库中有包名和类名都相同的类(转)

    https://blog.csdn.net/itachiwwwg/article/details/9003261 当java的源代码中出现了和系统的lib库中的包名与类名完全一样的类时,系统应当怎么加 ...

  6. STS中搭建SpringMVC工程

    1 环境说明 首次接触Spring,面对这么一个优秀的框架,先从环境搞起,再慢慢学.开发环境选择Spring Tool Suite,得专业点不是?Maven选2.2.1,JDK还是1.6,Tomcat ...

  7. Java中的包

    包:定义包用package关键字. 1:对类文件进行分类管理. 2:给类文件提供多层名称空间. 如果生成的包不在当前目录下,需要最好执行classpath,将包所在父目录定义到classpath变量中 ...

  8. STS中Maven配置

    最近接触maven, 配置过程中记录一下. STS是解压版的,启动后,可以看到已经有了Maven插件, , 但是,STS也同时给你了一个Maven,但是通常不建议使用STS自带的maven.使用默认的 ...

  9. 房上的猫:java中的包

    包 1.作用:  (1)包允许将类组合成较小的单元(类似文件夹),易于找到和使用相应的类文件  (2)防止命名冲突:    java中只有在不同包中的类才能重名  (3)包允许在更广的范围内保护类,数 ...

随机推荐

  1. oracle ORA-16038 ORA-00257

    出现 ORA-16038时也可以参考下边的错误,好像有关联影响 出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日 ...

  2. 2018多校第九场 HDU 6416 (DP+前缀和优化)

    转自:https://blog.csdn.net/CatDsy/article/details/81876341 #include <bits/stdc++.h> using namesp ...

  3. zuul网管配置其他服务时 HTTP Status 500 – Internal Server Error

    1.这个错误是由三个原因导致的 (1).我在给类的接口命名的时候前面少加了一个/ (2)给zuul配置路由的时候多加了个服务名,serviceId名称就是spring的name,而不是eureka注入 ...

  4. HTML JS 弹层后底部页面禁止滚动处理

    1.打开新页面时需要禁止鼠标滚轮,禁止页面滑动: 1 2 3 4 在调用显示层时加上这句js代码就可以了: document.documentElement.style.overflow = &quo ...

  5. hdu 4810 Wall Painting (组合数+分类数位统计)

    Wall Painting Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  6. c++继承子类构造函数问题

    c++中子类在继承基类的时候需要在构造函数中初始化变量.如果基类没有构造函数或者只有不带参数的构造函数,那么子类中的构造函数就不需要调用基类的构造函数了. 个人总结了两点子类中构造函数必须调用父类的构 ...

  7. Flask-websocket实现聊天功能

    群聊无昵称 原生js代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  8. JavaWeb_(Mybatis框架)使用Mybatis对表进行增、删、改、查操作_二

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

  9. JavaWeb_(Hibernate框架)Hibernate论坛项目中一对多案例

    基于SSH论坛小型项目 传送门 用户和发帖进行举例 一对多关系:一个用户可以发表多个帖子 一对一关系:一个帖子属于一个用户发布 创建数据库用户user表 CREATE TABLE `hforum`.` ...

  10. Java中可变参数

    从java5开始出现了可变参数,这是对java方法及数组的拓展! 方法中可以接受的参数不再是固定个数的,而是随着具体需求传递的多少来决定. 定义格式: 返回值类型  方法名(参数类型 ... 形式参数 ...