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