Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida com Injeção de dependência e Spring

Normalmente quando queremos criar um bean para que ele seja gerenciado pelo Spring nós anotamos com @Bean como fizemos por exemplo:

@Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
//....
}

Mas e como proceder por exemplo, suponhamos que a dependência externa que estamos a utilizar em nosso projeto seja o apache poi, e eu queira receber injetado o objeto que é responsável por manipular planilhas eletrônicas @AutoWired private Workbook wb; aqui temos um problema pois a classe Workbook espera receber um parâmetro do tipo FileOutputStream contendo o path do arquivo que quero manipular ou criar e esse path é dinâmico, varia de acordo com o registro que estou manipulando. como criar um método produtor para o Workbook com os aspectos acima mencionados?

 FileInputStream arquivo = new FileInputStream(new File(algumObjeto.arquivo));
  HSSFWorkbook workbook = new HSSFWorkbook(arquivo);

gostaria de transformar esse HssfWorkbook em um bean do Spring e receber no controller com AutoWired, mas o o path do arquivo a ser manipulado é dinâmico

1 resposta
solução!

Oi Ricardo, tudo bem?

Minha sugestão é você criar esse objeto com new mesmo, dentro do método onde você vai precisar usar a classe HSSFWorkbook, já que você possui esse valor que precisa ser lido de algum lugar, e ele é variável.