Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

[Sugerencia] En el video no se explica esta anotación @Bean

Buenas Tardes,

Para saber esto de la anotación @Bean toca revisar los dos videos anteriores, el primero termina abruptamente sin la anotación y el segundo ya la incluye sin ninguna explicación al respecto.

Se sugiere completar alguno de los dos videos con la explicación de la misma.

Mil gracias

4 respuestas
solución!

Aqui te dejo algo de información del tópico a que haces referencia, espero pueda ser de utilidad.

@Bean es una anotación a nivel de método y un análogo directo del elemento XML. Para declarar un bean, simplemente anota un método con el @Bean. Cuando JavaConfig encuentra un método de este tipo, ejecutará ese método y se registrará el valor de retorno como un bean dentro de un BeanFactory. Por defecto, el nombre del bean será el mismo que el nombre del método.

La anotación @Bean se utiliza en Spring Framework para indicar que un método en una clase de configuración de Spring devuelve un objeto que debe ser registrado como un bean en el contexto de Spring. Un bean es simplemente un objeto que Spring administra y que está disponible para su uso en otras partes de la aplicación.

Un ejemplo de un método que utiliza la anotación @Bean:

@Configuration public class MyConfig {

@Bean
public MyService myService() {
    return new MyServiceImpl();
}

}

En este ejemplo, la clase MyConfig es una clase de configuración de Spring que define un bean llamado myService. El método myService() devuelve una instancia de MyServiceImpl, que es registrada como un bean en el contexto de Spring. Este bean puede ser inyectado en otras partes de la aplicación, por ejemplo, en un controlador o en otra clase de servicio.

La configuración anterior es exactamente equivalente a la Spring XML que define un bean de la siguiente manera:

xml

Para inyectar un bean en otra clase de la aplicación, se utiliza la anotación @Autowired. Por ejemplo, si tenemos una clase de controlador que necesita acceder al bean myService, podemos inyectarlo de la siguiente manera:

@RestController public class MyController {

private final MyService myService;

@Autowired
public MyController(MyService myService) {
    this.myService = myService;
}

// ... controlador métodos ...

}

En este ejemplo, el bean myService se inyecta en el constructor de la clase MyController. El constructor utiliza la anotación @Autowired para indicar que Spring debe proporcionar una instancia de MyService para su uso en el controlador.

La anotación @Bean también se puede utilizar en una interfaz de Spring. En este caso, la anotación se coloca en un método de la interfaz que devuelve el objeto que debe ser registrado como un bean. Por ejemplo:

public interface MyService {

// ... métodos de la interfaz ...

@Bean
MyServiceImpl myServiceImpl() {
    return new MyServiceImpl();
}

}

En este ejemplo, la interfaz MyService define un método myServiceImpl() que devuelve una instancia de MyServiceImpl. La anotación @Bean se utiliza para indicar que esta instancia debe ser registrada como un bean en el contexto de Spring. Cuando se utiliza la interfaz MyService en otra parte de la aplicación, Spring utiliza este método para obtener una instancia de MyServiceImpl.

En cuanto a las anotaciones JSR-250, éstas se utilizan para indicar el ciclo de vida de un bean. Por ejemplo, la anotación @PostConstruct se utiliza para indicar que un método debe ser ejecutado después de que el bean ha sido inicializado por Spring.

@Component public class MyService {

@PostConstruct
public void init() {
    // ... inicialización de la instancia ...
}

// ... otros métodos ...

}

En este ejemplo, la anotación @PostConstruct se utiliza para indicar que el método init() debe ser ejecutado después de que el bean ha sido inicializado por Spring. En este método, se realiza cualquier inicialización necesaria para la instancia de MyService.

Gracias por el aporte!

jajaja... magia!! No, es qeu alguna parte del video , se ha editado y aparece, o como usa una versión anterior, la notación se haya creado sola. En mi caso me tira el IDE, IntelliJ, que: .csrf(); .sessionManagement(); y .and(); están ya en desuso: deprecated! O sea, hay que ver cómo se reemplaza esto más adelante para que funcione correctamente!!

Hola .. Es correcto estos métodos csrf(); .sessionManagement(); y .and(); ya están en desuso. Seria interesnate un hilo independiente para que se vea este tema con algún instructor que quiera coopeerar. saludos