spring的注解问题的注解问题

GoodsService是个借口 GoodsServiceImpl是它的实现类
正确配置
图片说明
图片说明
错误配置
![图片说明![图片说明
能告诉我为什么错误吗

5个回答

Spring会在启动的时候创建你注解的类的实例(默认情况下),然后你这里的@Autowire是去找类型为GoodsService的实例,并赋给这里的goodsService。你去掉@Autowire当然会报错啦。建议看看依赖注入相关的内容

sinat_36596988
gentle+ 就是有了这个@Controller配置了控制器就不能setter吗?必须用@autowire这个吗
接近 2 年之前 回复
sinat_36596988
gentle+ 回复Winloong: 有Q不 加下
接近 2 年之前 回复
qq_15259781
Winloong 回复gentle+: 你是直接GoodsController controller = new GoodsController(); controller.setGoodsService(service);这样?还是说你用@Controller配置了GoodsController, 如果你用@Controller配置了那还是要@Autowire的不管你是不是写了setter
接近 2 年之前 回复
sinat_36596988
gentle+ 嗯 我知道没有@Autowire 要通过get set方法,有了@Autowire就不需要get set方法。我提问的意思是 我去掉@Autowire,然后自己写个get set方法,结果运行就会报错
接近 2 年之前 回复

@Autowired注解是告诉spring要给这个变量设置值,

b934d55bd7120e5d
钟钟儿 一样,spring创建的对象会交由sprin 容器管理,自己手动new的对象不会由spring管理
接近 2 年之前 回复
sinat_36596988
gentle+ 回复钟钟儿: @Autowired GoodsService goodservice; 这个自动注解设置的值 是否跟GoodsService goodservice=new GoodsServiceImpl();一样呢
接近 2 年之前 回复
b934d55bd7120e5d
钟钟儿 回复gentle+: 就是这个对象本身。
接近 2 年之前 回复
sinat_36596988
gentle+ 设置什么值?
接近 2 年之前 回复

https://www.cnblogs.com/szlbm/p/5512931.html 看一下这个吧 讲的很详细,我就不浪费口舌了

注解用了以后才能生效

bean 的xml配置是可以的,但是再使用的时候还需要Auto,我不知道是什么原因,但是开发的时候就是这样的,不然,创建bean实例失败,无法映射,
不是struts2,可以直接用xml配置,完全代替注解,配置bean,这个完全替代不了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问