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:
-
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.
-
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.
-
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.