好菜哦 2021-03-18 09:11 采纳率: 0%
浏览 841
已结题

@Repository注解,可以用在dao层接口?

spring测试代码:

//daoimpl
public class TeacherDao implements ITeacherDao {

}
//dao层接口,使用repository注解
@Repository
public interface ITeacherDao {
}

//serviceImpl
@Service
public class TeacherService implements ITeacherService {

    @Autowired
    ITeacherDao teacherDao;
}
//service
public interface ITeacherService {

}

//测试代码
public class TeacherTest {

    private ITeacherService teacherService;
    private ApplicationContext applicationContext;

    @Before
    public void init(){
        applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        teacherService = applicationContext.getBean("teacherService", ITeacherService.class);
    }

    @Test
    public void testIOC(){
        System.out.println(teacherService);
    }
}

报错:No qualifying bean of type 'com.aipande.dao.ITeacherDao' available。

如果将Repository注解放在dao层实现类上就可以正常注入。

通过这个例子,我认为Repository注解只能作用在类上,不能作用在接口上。

但是在学习springBoot整合mybatis的时候,看到有将repository注解放在dao层接口的用法,想知道原因?为什么可以这么用?

  • 写回答

2条回答 默认 最新

  • 三岁丫 2021-03-18 09:35
    关注

    我就想问问你用了 Mybatis 吗?没有 Mybatis 的话,你自己干的不就是 Mybatis 的事情吗?Mybatis 就是帮你把 DAO 接口通过代理生成它的实现类然后在代理里面执行 sql。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月24日

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码