Anotación Spring @Configuration con ejemplo

Una de las anotaciones más importantes en primavera es la anotación @Configuration que indica que la clase tiene métodos de definición @Bean . Entonces, el contenedor Spring puede procesar la clase y generar Spring Beans para usar en la aplicación. Esta anotación es parte del marco Spring Core. Entonces, entendamos @Configuration Annotation con un proyecto de ejemplo.

Implementación: Proyecto

Supongamos que ya tenemos un proyecto Java y todos los archivos Spring JAR se importan a ese proyecto. Ahora vamos a crear una clase simple llamada College y dentro de la clase, tenemos un método simple.

Requisito previo : anotación Spring @ComponentScan con ejemplo

A. Archivo: Colegio.java

Java

// Java Program to Illustrate College Class
 
package ComponentAnnotation;
 
// Class
public class College {
 
    // Method
    public void test()
    {
        // Print statement
        System.out.println("Test College Method");
    }
}

Podemos usar la anotación @Component para crear el bean para esta clase. Entonces podemos modificar nuestro archivo College.java algo como esto.

Java

// Java Program to Illustrate College Class
 
package ComponentAnnotation;
 
// Class
public class College {
 
    // Method
    public void test()
    {
        // Print statement
        System.out.println("Test College Method");
    }
}

Pero en este caso, tenemos que escribir la siguiente línea dentro del archivo beans.xml .

<context:component-scan base-package="ComponentAnnotation"/>

Pero no queremos usar el archivo beans.xml completo en nuestro proyecto. Entonces, ¿qué podemos hacer para reemplazar el archivo beans.xml ? En general, beans.xml es un archivo de configuración. Entonces, lo que podemos hacer es crear una clase de configuración en Java y simplemente convertir esta clase en nuestra clase de configuración simplemente usando la anotación @Configuration . Sí, podemos hacer eso. Así que ahora vamos a crear otra clase llamada CollegeConfig.

B. Archivo: CollegeConfig.java

Java

// Java Program to Illustrate College Class
 
package ComponentAnnotation;
 
// Class
public class College {
 
    // Method
    public void test()
    {
        // Print statement
        System.out.println("Test College Method");
    }
}

Ahora, no queremos usar las anotaciones @Component y @ComponentScan para crear los beans. Analicemos otra manera de hacer la misma tarea. Así que vamos a crear los frijoles primavera usando la anotación @Bean . ¿Pero cómo? ¿Dónde escribir estos métodos? Como hemos discutido al principio que » la anotación @Configuration indica que la clase tiene métodos de definición @Bean», entonces expliquemos esta declaración y creemos nuestros beans dentro del archivo CollegeConfig.java usando la anotación @Bean. Entonces podemos escribir algo como esto dentro de nuestro archivo CollegeConfig.java . Por favor, consulte los comentarios para una mejor comprensión. 

@Bean
// Here the method name is the
// bean id/bean name
public College collegeBean(){
    // Return the College object
    return new College();
}

Si eso es. 

C. Archivo: CollegeConfig.java

Java

// Java Program to Illustrate Configuration Class
 
package BeanAnnotation;
 
// Importing required classes
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class CollegeConfig {
 
      // Using Bean annotation to create
    // College class Bean
    @Bean
    // Here the method name is the
    // bean id/bean name
    public College collegeBean() {
       
        // Return the College object
        return new College();
    }
 
}

De manera similar, si tiene otra clase llamada Estudiante y desea crear el bean para esta clase de Estudiante, puede crear el bean usando la anotación @Bean dentro de la clase de configuración así como así.

@Bean
// Here the method name is the
// bean id/bean name
public Student studentBean(){
    // Return the Student object
    return new Student();
}

Ahora, para verificar nuestra aplicación, creemos un método principal dentro de nuestra clase Principal. A continuación se muestra el código del archivo Main.java . Se agregan comentarios dentro del código para comprender el código con más detalle.

D. Archivo: Main.java

Java

// Java Program to Illustrate Application Class
 
package ComponentAnnotation;
 
// Importing required classes
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 
// Application class
public class Main {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Use AnnotationConfigApplicationContext
        // instead of ClassPathXmlApplicationContext
        // because we are not using XML Configuration
        ApplicationContext context
            = new AnnotationConfigApplicationContext(
                CollegeConfig.class);
 
        // Getting the bean
        College college
            = context.getBean("collegeBean", College.class);
 
        // Invoking the method
        // inside main() method
        college.test();
    }
}

Producción:

Test College Method

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *