Spring Bean的两个小问题

121 阅读1分钟

01 对于不开放源代码的第三方类库怎么进行依赖注入?

这个问题可以这样思考,首先被依赖注入的都是容器里面的Bean,那么怎么让第三方类库(没有源代码)成为Spring容器管理的Bean呢?

这里可以定义一个java配置类,使用 @Configuration和**@Bean**注解,使第三方类成为Spring容器的Bean;

让后在被依赖的类里面通过构造器或者Setter注入使其被依赖;

02 @Autowired和@Resource有什么区别?

可以从以下几个方面考虑:

  • @Autowired注解是Spring提供的,而@Resource注解他是java提供的;
  • @Autowired注解是先通过byType来查找这个bean,如果没有找到则通过byName来寻找,而@Resource则是默认通过Byname来选找符合的Bean, 如果没有指定名称则按找ByType来寻找;
  • 在使用方法上,@Autowired使用场景更加广,它可以作用在字段上,构造器上,setter方法和任意方法上,但是@Resource注解只能作用在字段上和setter方法上。

原文链接

一起学习,一起成长