una tamaño reducir poner imagen como centrar cambiar boton autoajustar ajustar java spring interface autowired

tamaño - como reducir una imagen en java



Interfaz de autoajuste de resorte (2)

@Autowired es perfecto para este escenario. Puede autoaumentar una clase específica (implementación) o usar una interfaz.

Considera este ejemplo:

public interface Item { } @Component("itemA") public class ItemImplA implements Item { } @Component("itemB") public class ItemImplB implements Item { }

Ahora puede elegir cuál de estas implementaciones se usará simplemente eligiendo un nombre para el objeto de acuerdo con el valor de anotación @Component

Me gusta esto:

@Autowired private Item itemA; // ItemA @Autowired private Item itemB // ItemB

Para crear la misma instancia varias veces, puede usar la anotación @Qualifier para especificar qué implementación se usará:

@Autowired @Qualifier("itemA") private Item item1;

En caso de que necesite instanciar los elementos con algunos parámetros de constructor específicos, deberá especificar un archivo de configuración XML. Buen tutorial sobre el uso de Qulifiers y autowiring se puede encontrar AQUÍ .

Tengo un interfaz IMenuItem

public interface IMenuItem { String getIconClass(); void setIconClass(String iconClass); String getLink(); void setLink(String link); String getText(); void setText(String text); }

Entonces tengo una implementación para esta interfaz

@Component @Scope("prototype") public class MenuItem implements IMenuItem { private String iconClass; private String link; private String text; public MenuItem(String iconClass, String link, String text) { this.iconClass = iconClass; this.link = link; this.text = text; } //setters and getters }

¿Hay alguna manera de crear varias instancias de MenuItem desde una clase de configuración, usando solo la interfaz IMenuItem? con @autowired o algo así? ¿También es posible realizar una conexión automática especificando los argumentos del constructor?


Creo que la mitad del trabajo se hace con su anotación @scope , si no hay ninguna otra implementación de la interfaz ImenuItem en su proyecto a continuación, se crearán varias instancias.

@Autowired private IMenuItem menuItem

pero si hay varias implementaciones, debe usar la anotación @Qualifer .

@Autowired @Qualifer("MenuItem") private IMenuItem menuItem

esto también creará instancias múltiples