¿Qué hace la auto-configuration de Spring Boot?
Opciones
- Reescribe tu código automáticamente al compilar
- Lee el classpath y registra beans por defecto (Opción correcta)
- Descarga las librerías que falten mientras se ejecuta
- Formatea tu código para que siga el estilo de Spring
Respuesta
Inspecciona el classpath y tus propiedades y registra beans sensatos automáticamente (por ejemplo un DataSource si hay un driver JDBC), y se retira si defines el tuyo
Por qué
Las clases de auto-configuration son condicionales: "si la clase X está en el classpath y no existe un bean de tipo Y, crea Y".
Ejemplo: añade spring-boot-starter-data-jpa y un driver de PostgreSQL, pon la URL en las propiedades, y Spring Boot crea por ti el DataSource, el EntityManagerFactory y el transaction manager.
Si defines tu propio bean de ese tipo, el auto-configurado se retira. Para ver qué pasó, ejecuta con --debug.
Recuerda
Auto-config = valores por defecto condicionales que se retiran si das los tuyos.