对象初始化问题2
spring-service2.xml配置:
ServiceDao实现类:
老师,在spring配置文件中配置了类自动扫描方式,在测试类中对OrderService接口使用了@Autowired,那么请问老师OrderService是接口,而OrderServiceImpl2是实现了OrderService接口的类,请问使用@Autowired和@Repository怎么能将OrderServiceImpl2类对象初始化OrderService接口呢?
正在回答
OrderServiceImpl实现了是OrderService的接口,使用@Autowired是可以被依照类型注入的呦。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
同学还记得学习多态时候的作业吗?
IAct actor = new Bear(“小熊”,1);
就是把接口实现类的引用赋值给 actor。而赋值给actor 是哪个实现类,调用的就是哪个实现类中重写的方法。
这个同理。
orderService 调用的是OrderServiceImpl2的引用。调用方法时,就是调用的OrderServiceImpl2中重写的接口方法。
假如说,还有个OrderServiceImpl1,把OrderServiceImpl1注入给orderService 的,那么orderService 调用的就是OrderServiceImpl1中重写的方法。
这样,设置的属性是OrderService ,但具体用它的哪个实现类就交给spring去管理了。
这样使程序的耦合性更低。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星