spring获取bean的方式

一、通过@Autowired和@Resource的方式获取bean。

例如:

@Resource
private ApplicationContext applicationContext;
@Autowired
private ApplicationContext applicationContext;

此例子是活的了applicationContext容器。

二、通过ApplicationContext.getBean()方法获得bean

例如:

CodeTest test = applicationContext.getBean(CodeTest.class);

CodeTest类上要加上Services,Compent等注解,如果在注解里取了其他名字,例如Component("test")

获取如下:

CodeTest initCodec = applicationContext.getBean("test", CodeTest .class);

那如果在某个类中无法使用注解,该如何获取到bean呢?接下来 有两种方式,其中第一种 最为简单。

一、使用类中静态属性,并配合@Autowired和@Resource

例如:

@Component
public class TestUtil {

    private static StringRedisTemplate stringRedisTemplate;

    @Autowired
    public TestUtil (StringRedisTemplate stringRedisTemplate){
        MqttSessionUtil.stringRedisTemplate = stringRedisTemplate;
    }

    public static void setRedisHashKey(String h, String k, String v) {
        stringRedisTemplate.opsForHash().put(h, k, v);
    }


    public static Object getRedisHashkey(String h, String k) {
        return stringRedisTemplate.opsForHash().get(h, k);
    }
}

外部调用,只需要调用封装方法就行。注意事项时一定要在类上标注Component

二、参考我的另一篇博文:https://blog.csdn.net/qq_34239851/article/details/88234328

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值