Olá, Vinicius! Tudo joia?
Sua pergunta é bastante interessante e relevante para quem está trabalhando com tecnologias Java.
A anotação @Stateless é usada para indicar que uma classe é um Enterprise JavaBean (EJB) stateless, ou seja, não mantém estado entre chamadas de método. Isso significa que todas as instâncias são equivalentes quando não estão envolvidas em uma transação.
Quando você utiliza a anotação @Inject, está dizendo ao servidor de aplicação para gerenciar o ciclo de vida do seu bean. Isso significa que o servidor de aplicação será responsável por criar e destruir instâncias do bean, além de gerenciar quaisquer recursos que o bean possa precisar.
Se você optar por não usar @Inject e, em vez disso, instanciar o bean normalmente (usando o operador new, por exemplo), você estará assumindo a responsabilidade de gerenciar o ciclo de vida do bean. Isso pode ter várias consequências, dependendo da complexidade do seu bean e dos recursos que ele precisa.
Por exemplo, se o seu bean precisa de um recurso como um DataSource ou outro EJB, você terá que gerenciar isso manualmente se não estiver usando @Inject. Isso pode levar a erros e a um código mais difícil de manter.
Além disso, sem a anotação @Inject, você não terá acesso a recursos do contêiner, como gerenciamento de transações, segurança e injeção de dependências.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.