【Spring-AOP】使用注解开发时,getBean(Class<T> var1) 中的参数使用实现类报错

!!!本贴只是记录本人有疑惑的问题,答案是自己摸索猜测的,不一定正确哦

前景提要:

目录结构如图所示;

SpringConfig设置了 @Configuration @EnableAspectJAutoProxy@ComponentScan("miao.demo") 

BookDaoImpl是BookDao接口的实现类,配置了@Repository


问题描述

        在getBean()的时候想采用直接获取BookDaoImpl.class的方式,然后华丽丽的报错了 !!意思时找不到这个bean..但是BookDaoImpl已配置了@Repository

public class App {
    public static void main(String[] args) {
        ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
        BookDaoImpl bookDao = ctx.getBean(BookDaoImpl.class);
        System.out.println(bean);
        System.out.println(bean.getClass());
    }
}


分析

尝试将getBean()的参换成BookDao.class;获取的bean和对应的class输出得到了如图所示的东西,我意识到是因为我开启了代理模式引起的~ 

JDK反射生成代理必须面向接口, 这是由Proxy的内部实现决定的!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值