/ / A autowiring entra em conflito com a injeção de dependência de mola - java, spring

A autowiring entra em conflito com a injeção de dependência de mola - java, spring

Estou um pouco confuso sobre a injeção de dependência de autowiring e spring.

injeção de dependência de mola permite que você removaquaisquer dependências específicas uma classe pode ter em outras classes ou interfaces de terceiros e carregar essas dependências na classe no momento da construção.

Mas enquanto usamos a anotação Autowired, estamos programaticamente gravando o nome da interface ou o nome da classe na classe java para injetar o bean.

@Autowired
public final Interface object;

Isso não é conflitante a dependência de primaverainjeção? Porque se estivermos definindo bean em XML, podemos alterá-lo a qualquer momento sem alterar o código java real. Mas usando anotação, temos que mudar o código java.

Respostas:

0 para resposta № 1

Na injeção de dependência, a primavera requer pelo menosum contrato (Interface Java) na classe e você pode alternar dinamicamente a implementação em tempo de execução com anotação baseada em XML ou Java. Mesmo que isso seja feito através de XML, precisamos fornecer à Interface os construtores, de forma que a ligação do bean também precise automaticamente dessa variável de classe de interface.

Mas como você disse, para colocar Anotação baseada em Java nósprecisa ter acesso ao código-fonte e isso é um tipo de principal desvantagem com Anotação. Isso vem para o AOP também. Para tornar uma classe um Aspect, você precisa ter acesso ao código-fonte.