关于stuMapper报错的问题

关于stuMapper报错的问题

此处stuMapper报错的情况是使用了注解@Autowired,但是此处如果使用@Resource则不会报错,此处@Autowired和@Resource使用上区别在什么地方?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
qq_Livermore_2 2020-07-28 15:22:25

@Autowired

@Autowired是Spring提供的,默认按照byType 注入,也就是按bean的类型来传入。如果需要指定名字,那么需要使@Qualifier(“这是bean的名字”)

@Resource

@Resource默认按 byName 自动注入,是J2EE提供的@Resource有两个中重要的属性:name和type 。Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略


慕妹8372246 2020-04-23 14:17:24

我也遇到同样的问题。

--Controller 层代码
@Autowired
private StuService stuServic;

--Service层代码

@Autowired
private  StuMapper stuMapper;
@Transactional(propagation = Propagation.SUPPORTS)
@Override
public Stu getStuInfo(int id) {

  return  stuMapper.selectByPrimaryKey(id);
}

这种方式项目根本起不来,直接就停掉了

四月 23, 2020 2:12:36 下午 org.apache.catalina.core.StandardService stopInternal

信息: Stopping service [Tomcat]

你改为@Resource可以正常运行吗?

  • 提问者 羽落陌殇 #1
    @Autowired是误报,正常应该都是可以运行的,你可以修改试试
    2020-04-23 14:20:07
  • 慕妹8372246 回复 提问者 羽落陌殇 #2
    我这边不是误报,是tomcat直接起不来
    2020-04-23 15:14:53
提问者 羽落陌殇 2020-03-17 01:40:00


http://img1.sycdn.imooc.com//climg/5e6fb9970893bd5f12160912.jpg
此处使用@Resource则不会报错,此处使用@Autowried和使用@Resource有什么区别?

  • 用autaired,然后尝试启动看看。能不能启动
    2020-03-17 08:24:45
  • 你这个可能是idea的编译器误报问题。
    2020-03-17 08:33:01
coding_zhang 2020-03-17 01:36:01

可以截图一下否?

  • 提问者 羽落陌殇 #1
    截图放在2楼,请老师解答一些,谢谢
    2020-03-17 01:41:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师