Spring支持使用@Autowired、 @Resource、@Inject三个注解进行依赖注入。
@Component(“id”) id可选,告诉spring这是一个组件,交由spring管理, 相当于xml当中的<bean>配置。
@Autowired 默认按类型进行装配(该注解由spring提供,org.springframework.beans.factory.annotation.Autowired),默认情况下要求依赖对象必须存在,如果不存在会抛出异常,要想允许依赖对象为null值,可以设置required属性为false,@Autowired(required=false),如果使用名称装配,可以结合使用@Qualifier,@Autowired@Qualifier(“name”)。
@Resource(该注解由J2EE提供),默认按照名称进行装配,名称可以通过name属性进行指定,如果未指定name属性,当注解写在字段上时,默认取字段名查找,当找不到名称匹配的bean时,才按照类型进行装配。但是如果name属性一旦指定,将只会按照名称进行装配。
public interface Svc {
void sayHello();
}
@Service
public class SvcA implements Svc {
@Override
p
这篇博客探讨了Spring框架中@Autowired和@Resource两个注解的差异和使用方法。@Component注解用于标记组件交给Spring管理。@Autowired按类型进行装配,可选指定required属性。@Resource默认按名称装配,若未指定则尝试按字段名匹配。IDEA警告推荐使用构造器注入以确保最佳实践。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



