java spring dependency-injection cdi

java - ¿Cuál es el equivalente de Spring para la anotación CDI @Produces?



dependency-injection (1)

Cuando trabajaba con CDI, podía usar la anotación @Produces para crear un método de productor al que llamar para elegir qué bean que implementaba una interfaz sería inyectado por la anotación @Inject .

Ahora estoy trabajando con Spring, pero no encontré nada similar. ¿Qué necesito usar para lograr el mismo resultado que tuve con la anotación @Produces en CDI cuando uso la anotación @Autowired ?


Estás buscando a @Bean :

@Bean es una anotación de nivel de método y un análogo directo del elemento XML. La anotación es compatible con la mayoría de los atributos ofrecidos por, tales como: método-inicial, método de destruir, conexión automática, inicialización lenta, verificación de dependencia, dependencia y alcance.

Ejemplo (tomado del enlace de arriba):

@Configuration public class AppConfig { //similar to @Produces CDI annotation @Bean public TransferService transferService() { return new TransferServiceImpl(); } }

Le sugiero que lea esto: estudio comparativo Spring DI y CDI