Análisis del método de búsqueda de primavera

1: uso

Al definir una clase abstracta y un método abstracto, use el método abstracto para obtener el bean requerido. El rol es lograr la flexibilidad del bean, conectable, cuando el bean especificado no satisface nuestras necesidades, solo necesitamos modificar lookup-methodlos nameatributos en la etiqueta en el archivo de configuración , sin necesidad de modificar el código.

2: Ejemplos

2.1: Definir la clase utilizada para definir el bean

public class MyLookUpMethodCls {
    
    
}

2.2: Definir clases abstractas

public abstract class MyLookUpMethodAbstractCls {
    
    
    public abstract MyLookUpMethodCls returnMyLookUpMethodCls();
}

2.3: Archivo de configuración

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="myLookUpMethodCls" class="yudaosourcecode.lookupmethod.MyLookUpMethodCls"/>

    <bean id="myLookUpMethodAbstractCls" class="yudaosourcecode.lookupmethod.MyLookUpMethodAbstractCls">
        <!-- 通过方法returnMyLookUpMethodCls获取bean名称为myLookUpMethodCls的bean -->
        <lookup-method bean="myLookUpMethodCls" name="returnMyLookUpMethodCls"/>
    </bean>
</beans>

2.4: Código de prueba

@Test
public void testLookUpMethod() {
    
    
    ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("classpath:testlookupmethod.xml");
    MyLookUpMethodAbstractCls myLookUpMethodAbstractCls = ac.getBean("myLookUpMethodAbstractCls", MyLookUpMethodAbstractCls.class);
    // 通过调用方法的方式来获取MyLookUpMethodCls的bean
    System.out.println(myLookUpMethodAbstractCls.returnMyLookUpMethodCls());
}

correr:

yudaosourcecode.lookupmethod.MyLookUpMethodCls@6b67034

Process finished with exit code 0

El método es myLookUpMethodAbstractCls.returnMyLookUpMethodCls()equivalente al código ac.getBean("myLookUpMethodCls").

Supongo que te gusta

Origin blog.csdn.net/wang0907/article/details/114321253
Recomendado
Clasificación