Enterprise Intermedio

Reemplaza las extensas definiciones de beans XML de Spring por configuración concisa basada en anotaciones con Spring Boot.

✕ Spring (XML)
<!-- applicationContext.xml -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userRepository"
          class="com.example.UserRepository">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean id="userService"
          class="com.example.UserService">
        <property name="repository" ref="userRepository"/>
    </bean>

</beans>
✓ Spring Boot 3+
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@Repository
public class UserRepository {
    private final JdbcTemplate jdbc;

    public UserRepository(JdbcTemplate jdbc) {
        this.jdbc = jdbc;
    }
}

@Service
public class UserService {
    private final UserRepository repository;

    public UserService(UserRepository repository) {
        this.repository = repository;
    }
}
¿Ves un problema con este código? Cuéntanos.
🚫

Sin XML

@SpringBootApplication activa el escaneo de componentes y la auto-configuración, eliminando todos los archivos de cableado XML.

💉

Inyección por constructor

Spring inyecta dependencias a través de constructores automáticamente, haciendo los beans más fáciles de probar y razonar.

Auto-configuración

Spring Boot configura DataSource, JPA y otra infraestructura desde el classpath sin código repetitivo.

Enfoque Antiguo
Definiciones de beans en XML
Enfoque Moderno
Beans basados en anotaciones
Desde JDK
17
Dificultad
Intermedio
Configuración XML de Spring vs basada en anotaciones
Disponible

Ampliamente disponible desde Spring Boot 1.0 (abril 2014); Spring Boot 3 requiere Java 17+

Las aplicaciones Spring tradicionales cableaban beans mediante archivos de configuración XML, declarando cada clase y sus dependencias como elementos <bean> extensos. Aunque el soporte de anotaciones existía desde Spring 2.5, el XML siguió siendo el enfoque dominante hasta que Spring Boot introdujo la auto-configuración. Spring Boot detecta beans anotados con @Component, @Service, @Repository y @Controller mediante escaneo del classpath, satisface las dependencias a través de inyección por constructor automáticamente y configura la infraestructura como DataSource desde el classpath — eliminando todos los archivos de cableado XML.

Compartir 𝕏 🦋 in