Sobes.tech
Junior — Middle

Quais métodos são utilizados para implementar a injeção de dependências no framework Spring?

sobes.tech IA

Resposta da IA

No Spring Framework, a injeção de dependências (Dependency Injection, DI) é realizada de três maneiras principais:

  1. Através do construtor (Constructor Injection) — as dependências são passadas através dos parâmetros do construtor da classe. Este é o método mais recomendado, pois permite criar objetos imutáveis e facilita os testes.

  2. Através dos setters (Setter Injection) — as dependências são definidas através de métodos setters após a criação do objeto.

  3. Através dos campos (Field Injection) — as dependências são injetadas diretamente nos campos da classe usando a anotação @Autowired. Este método é menos preferido devido à dificuldade nos testes e à encapsulação fraca.

Exemplo de injeção de dependência via construtor:

@Component
public class UserService {
    private final UserRepository userRepository;

    @Autowired
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }
    // métodos da classe
}

O Spring criará automaticamente e injetará o bean UserRepository necessário ao criar UserService.