关于@Autowired与<context:component-scan>的问题
请问@Autowired与<context:component-scan>是配合着使用的吗?就是先开启自动扫描,将@Service,@Component,@Repository,@Controller有这些表签的类在IOC中生成一个bean,然后之后就可以用@Autowired来装载对象的属性,是这样吗?第二个问题就是在@Autowired中查找对应的bean的时候,比如说@Autowired private OrderService orderService;这句,他是通过OrderService这个类搜索还是通过orderService搜索的呢?第三个问题是用这种自动装配的方法好处是什么呢?与private OrderService orderService = new OrderServiceImpl();这样有什么区别呢?
正在回答
同学,你好!下面分别回答你的三个问题:
1、可以理解成@Autowired和<context:component-sacn>配合使用,先开启自动扫描,扫描到对应注解创建bean,然后使用@Autowired注解进行bean装配
2、@Autowired默认按照类型进行匹配,如果写成:@Autowired @Qualifier("personDao")这样就是按照名称进行装配
3、使用new只是创建了一个对象,而@Autowired注解是把已经创建好的对象装配到当前变量中,相当于使用setter方法赋值。在开发上使用注解完成也更加方便,而且各个模块间的耦合性低,也就是各模块间不互相影响,便于项目维护。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星