Enterprise Intermediário

Substitua definições verbosas de beans Spring em XML por configuração concisa orientada a anotações no 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;
    }
}
Viu um problema com este código? Nos avise.
🚫

Sem XML

@SpringBootApplication dispara component scanning e auto-configuração, eliminando todos os arquivos de configuração XML.

💉

Injeção via construtor

O Spring injeta dependências via construtores automaticamente, tornando os beans mais fáceis de testar e entender.

Auto-configuração

O Spring Boot configura DataSource, JPA e outras infraestruturas a partir do classpath sem nenhum boilerplate.

Abordagem Antiga
Definições de beans em XML
Abordagem Moderna
Beans orientados a anotações
Desde o JDK
17
Dificuldade
Intermediário
Configuração Spring XML vs Anotações
Disponível

Amplamente disponível desde o Spring Boot 1.0 (abril de 2014); Spring Boot 3 requer Java 17+

Aplicações Spring tradicionais conectavam beans através de arquivos de configuração XML, declarando cada classe e suas dependências como elementos <bean> verbosos. Embora o suporte a anotações existisse desde o Spring 2.5, o XML permaneceu a abordagem dominante até o Spring Boot introduzir a auto-configuração. O Spring Boot detecta beans anotados com @Component, @Service, @Repository e @Controller via classpath scanning, satisfaz dependências automaticamente por injeção via construtor e configura infraestrutura como DataSource a partir do classpath — eliminando todos os arquivos de configuração XML.

Compartilhar 𝕏 🦋 in