Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Problema ao refatorar aplicação

Boa tarde!

Estou refatorando minha aplicação para usar alguns princípios de SOLID que aprendi aqui no Alura. Porém ao isolar o meu formatador de datas padrão em uma classe (para aplicar o Princípio da Responsabilidade Unica) o sistema aparentemente não encontra mais o Bean. Se eu volto a declaração do Bean para classe AppWebConfiguration, tudo volta a funcionar. Já tentei buscar ajuda na documentação e em alguns fóruns, mas como não sei muito bem do que se trata estou apanhando um pouco.

Alguém saberia me dizer o que pode estar acontecendo?

Segue a classe do formatador

@Configuration
public class DataFormatterConfiguration {

    @Bean
    FormattingConversionService mvcConversionService() {
        DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
        DateFormatterRegistrar registrar = new DateFormatterRegistrar();
        registrar.setFormatter(new DateFormatter("dd-MM-yyyy"));
        registrar.registerFormatters(conversionService);

        return conversionService;
    }

}

Classe AppWebConfiguration

@EnableWebMvc
@ComponentScan(basePackageClasses = { UserAccount.class, MangasController.class, UsersController.class, RolesController.class,
    UserAccountsController.class, RoleDAO.class, UserDAO.class, MangaDAO.class, UserMangaDAO.class, UserDetailsService.class, 
    DataSourceConfigurationDev.class, PropertiesConfigurationDev.class, CacheManagerConfiguration.class, MessageSourceConfiguration.class,
     ViewResolverConfiguration.class, DataFormatterConfiguration.class })
public class AppWebConfiguration extends WebMvcConfigurerAdapter {
3 respostas
solução!

Use:

@ComponentScan(basePackages = {"<coloque o pacote aqui>.DataFormatterConfiguration"} 

Obrigado Otávio.

Por nada amigo, bons estudos!

=D