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