zoukankan      html  css  js  c++  java
  • Spring:获取容器中的Bean

    • 某些情况下我们要获取 IOC 容器中指定注解、类型、名字的 Bean
    • 要获取 IOC 容器中指定条件的 Bean 可以通过 ApplicationContext 相应的方法
    @Autowired
    private ApplicationContext applicationContext;
    

    获取指定注解所有的 Bean

    Map<String,Object> objectMap = applicationContext.getBeansWithAnnotation(Service.class);
    

    获取指定注解所有的 Bean 的名字

    String[] beanNames = applicationContext.getBeanNamesForAnnotation(Service.class);
    

    获取容器中指定某类型、或实现某接口、或继承某父类所有的 Bean

    Map<String, Test> objectMap = applicationContext.getBeansOfType(Test.class);
    

    获取容器中指定某类型、或实现某接口、或继承某父类所有的 Bean 的名称

    String[] beanNames = applicationContext.getBeanNamesForType(Service.class);
    

    获取指定名字的 Bean

    Test testbean = (Test)applicationContext.getBean("testbean");
    

    获取指定名字、类型的 Bean,指定的类型可以是其父类或所实现的接口

    Object object = applicationContext.getBean("testbean", TestInterface.class);
    

    获取指定类型、或接口、或某类的子类的 Bean

    Object object = applicationContext.getBean(TestInterface.class);
    

    获取容器中 Bean 的数量

    int beanCount = applicationContext.getBeanDefinitionCount();
    

    获取容器中所有 Bean 的名字

    String[] beanNames = applicationContext.getBeanDefinitionNames();



  • 相关阅读:
    门面模式 Facade
    适配器模式 Adapter
    建造者模式 Builder Mode
    原型模式 ProtoType
    抽象工厂模式 Abstract Factory
    工厂方法模式 Factory Method
    简单工厂模式 SimpleFactory
    java设计模式之代理设计模式(Proxy)
    java工厂设计模式初步
    java中的接口概念
  • 原文地址:https://www.cnblogs.com/yuyu666/p/10071843.html
Copyright © 2011-2022 走看看