Open lucasgmartins opened 9 years ago
Meu ponto de vista: A config tem que ser algo bem simples, no caso do Spring Boot nem config de database existe, tem apenas do security pois essa não usamos a default (a default é com basic authentication).
Quando separamos a config teremos que explicar como e por que separar, quando for dar manutenção precisa saber em qual config procurar, e ai por diante. Será que realmente precisa separar? Gostaria de ver a opinião do pessoal sobre esse assunto.
Eu concordo com você na questão de simplicidade, entretanto pra mim misturar configurações que são de seguranças com outras que irão vir em uma classe não deixa a classe simples, pensando no principio de responsabilidade unica, em que cada classe deveria fazer uma coisa só, eu gosto de pensar que cada classe de configuração deve ter seu próprio papel. Assim como fazemos classes no dropwizard para HibernateBundle, SecurityBundle, e etc..
Quando as configurações são muito bem definidas, tais como as de segurança, acho que vale a pela separar sim. Aí seria só questão de incluir ou não a configuração quando fizer o "run". Pelo que vi, para banco não tem necessidade mesmo não.
No caso das configurações de segurança nem precisa explicar o porquê da separação.
As configurações podem ser modularizadas afim de tornar a leitura mais fácil e para futura manutenção, exemplo ApplicationSecurity, ApplicationDatabase.