【Java 面试】@Resource 和 @Autowired 的区别
Hi,大家好,我是 Mic。
一个工作 2 年的粉丝,问我一个 Spring 里面的问题。
希望我能从不同的视角去分析,然后碾压面试官。
这个问题是: “@Resource 和@Autowired”的区别。
下面看看普通人和高手的回答
普通人:
@Resource 和@Autowired 的区别我认为是在它们的一个注入的一个方式上
@Resource 它是根据 name 来进行注入的,@Autowired 是根据类型来注入的。
高手:
好的,面试官。
@Resource 和@Autowired 这两个注解的作用都是在 Spring 生态里面去实现 Bean 的依赖
注入。
下面我分别说一下@Autowired 和@Resource 这两个注解。
闪现 [@Autowired 的作用详解 ] 几个字。
首先,@Autowired 是 Spring 里面提供的一个注解,默认是根据类型来实现 Bean 的依赖
注入。
@Autowired 注解里面有一个 required 属性默认值是 true,表示强制要求 bean 实例的注入,
在应用启动的时候,如果 IOC 容器里面不存在对应类型的 Bean,就会报错。
当然,如果不希望自动注入,可以把这个属性设置成 false。