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