九阴真经


获取抽象类或者接口实现Bean

<h5>在Spring中获取抽象类或者接口具体实现Bean:</h5> <h6>1:注入集合</h6> <pre><code>/** * 加载所有支付实现Bean Pay为抽象类 获取它所有子类 */ @Autowired private List&lt;Pay&gt; pays;</code></pre> <h6>2:Spring的后置处理器</h6> <pre><code>package com.example.mydemo.pay.channel.config; import com.example.mydemo.pay.channel.Pay; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; /** * 通过后置处理器拿到beanName与bean的关系 */ @Service public class PayBeanConfig implements BeanPostProcessor { /** * beanName ---&gt;bean */ private Map&lt;String, Pay&gt; payBeanMap = new HashMap(); @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof Pay) { payBeanMap.put(beanName, (Pay) bean); } return bean; } public Map&lt;String, Pay&gt; getPayBeanMap() { return payBeanMap; } } </code></pre>

页面列表

ITEM_HTML