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方法上。
一起学习,一起成长