Conteudo legal, uma sugestão que vejo como boa prática atualmente é a injeção dos Beans do spring serem feitas através do construtor da classe. Isso trás uma maior coesão ao código produzido além de facilitar a implementação de testes unitários.
Um exemplo disso seria alterar o código de:
@RequestMapping(value = "/usuarios")
public class UsuarioController {
@Autowired
private UsuarioRepository usuarioRepository;
@Autowired
private UserService userService;
//Métodos aqui
}
Para:
@RequestMapping(value = "/usuarios")
public class UsuarioController {
private UserService userService;
//Injeção de dependência pelo construtor da classe
public UsuarioController(UserService userService) {
this.userService = userService;
}
//Métodos aqui
}