1
resposta

[Dúvida] Erro @Autowired

Estou usando Java 21, e meu Autowired simplesmente dá erro na IDE "Autowired members must be defined in valid Spring bean (@Component|@Service|...) "

Como resolvo isso, por favor?

1 resposta

Olá Thamyris!

Esse erro que você está enfrentando geralmente ocorre quando o Spring não consegue identificar a classe onde você está usando o @Autowired como um bean gerenciado pelo Spring. Para resolver isso, você precisa garantir que a classe é anotada corretamente para ser reconhecida como um componente do Spring.

Aqui estão algumas dicas que podem ajudar:

  1. Anotações de Componente: Garanta que a classe onde você está usando o @Autowired está anotada com @Component, @Service, @Repository, ou qualquer outra anotação que indique que é um bean gerenciado pelo Spring.

    import org.springframework.stereotype.Component;
    
    @Component
    public class MinhaClasse {
        // seu código aqui
    }
    
  2. Configuração do Spring: Verifique se o pacote onde sua classe está localizada está sendo escaneado pelo Spring. Isso é feito geralmente com a anotação @ComponentScan na classe de configuração principal do Spring Boot ou na classe anotada com @SpringBootApplication.

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class AplicacaoPrincipal {
        public static void main(String[] args) {
            SpringApplication.run(AplicacaoPrincipal.class, args);
        }
    }
    
  3. Verifique a Importação: Às vezes, o erro pode ser causado por uma importação incorreta. Garanta que você está importando o @Autowired do pacote correto:

    import org.springframework.beans.factory.annotation.Autowired;
    

Espero ter ajudado e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!