Spring的注解开发-依赖注入相关注解

在之前的学习中,Bean的依赖注入主要是通过xml配置文件中<property>来完成属性的注入操作,在往期的bean创建的文章中,都是以xml方式来完成bean对象的配置。

Spring主要提供以下注解,用于Bean内部进行属性注入

  • 注解用途
    @Autowired(使用最多自动装配一个 bean 对象,可以用在构造方法、Setter 方法、普通方法或字段上。根据类型注入引用数据,如果同一类型的bean有多个,再尝试根据引用数据名称进行二次匹配,如果匹配不成功,再报错。
    @Qualifier与 @Autowired 合用,用于指定需要注入的具体实现类的名称
    @Resource与 @Autowired 类似,用于自动装配一个 bean 对象,但是它可以根据 bean 的名称或类型进行注入。不指定注入名称时,根据类型进行注入(等同于@Autuwied),如果指定名称,根据名称注入(等同于@Autowired和@Qualifier)
    @Value用于注入简单类型或字符串等值类型,也可以用于读取配置文件中的值。一般配合el表达式使用
    @Inject与 @Autowired 类似,也是用于自动装配一个 bean 对象。不过它需要使用 javax.inject.Inject 注解,并且功能比较简单。

具体示例代码如下

  • @Autowired和@@Qualifier
  • package com.example.Service.Impl;
    
    
    import com.example.DAO.UserDAO;
    import com.example.Service.UserService;
    import org.springframework.stereotype.Service;
    
    import javax.annotation.Resource;
    
    @Service("userService")
    public class UserServiceImpl implements UserService {
        @Resource(name = "userDAO2")
        private UserDAO userDAO;
    
        @Override
        public void show() {
            System.out.println(userDAO);
        }
    }
    
  • @Resource
  • package com.example.Service.Impl;
    
    
    import com.example.DAO.UserDAO;
    import com.example.Service.UserService;
    import org.springframework.stereotype.Service;
    
    import javax.annotation.Resource;
    
    @Service("userService")
    public class UserServiceImpl implements UserService {
        @Resource(name = "userDAO2")
        private UserDAO userDAO;
    
        @Override
        public void show() {
            System.out.println(userDAO);
        }
    }
    
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值