关于@Autowired与<context:component-scan>的问题

关于@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回答

同学,你好!下面分别回答你的三个问题:

1、可以理解成@Autowired和<context:component-sacn>配合使用,先开启自动扫描,扫描到对应注解创建bean,然后使用@Autowired注解进行bean装配

2、@Autowired默认按照类型进行匹配,如果写成:@Autowired @Qualifier("personDao")这样就是按照名称进行装配

3、使用new只是创建了一个对象,而@Autowired注解是把已经创建好的对象装配到当前变量中,相当于使用setter方法赋值。在开发上使用注解完成也更加方便,而且各个模块间的耦合性低,也就是各模块间不互相影响,便于项目维护。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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