@Resource使用

89 篇文章 2 订阅
45 篇文章 1 订阅

@Resource是属于java的

有7个参数

     <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.12.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>
public class Sp{

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Sp{" +
                "name='" + name + '\'' +
                '}';
    }
}
@Service
public class Linux  {



    @Resource
    private Sp sp2;


    @Override
    public String toString() {
        return sp2.toString();
    }
}

//扫描包使得@service@controller@cmpoment注解生效
@ComponentScan("com.dmg")
@Configuration
public class TestConfig {


    @Primary
    @Bean
    public Sp sp(){
        Sp sp=new Sp();
        sp.setName("11111");
        return sp;
    }


    @Bean
    public Sp sp2(){
        Sp sp=new Sp();
        sp.setName("222");
        return sp;
    }
}


public class Test {

    public static void main(String[] args) {
        AnnotationConfigApplicationContext applicationContext=new AnnotationConfigApplicationContext(TestConfig.class);
        Linux bean = applicationContext.getBean(Linux.class);
        System.out.println(bean);
    }
}

我们虽然在sp上面设置了@Primary注解

但是@Resource还是走的sp2,说明

@Resource不支持这些注解

可以在@Resource的name指定不同的名称,@Resource(name = "sp")

@Resource就是先根据名称去查询,

如果名称不存在,就报错

我们还可以使用@Inject注解注入到容器中

和@Autowired一个意思

区别就是@Inject没有参数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值