Alguém pode me explicar diferença entre controlador de nível de classe e controlador de nível de método ..?

Eu sou novo no framework spring ... enquanto procurava no google..Eu encontrei alguns exemplos que tem @RequestMapping anotado no nível da classe e alguns exemplos mostrando-o no nível do menthod

Quando usar o RequestMapping de nível de classe e a anotação RequestMapping do nível de mentod ... qualquer um pode me explicar a diferença entre RequestMapping de nível de classe e RequestMapping de nível de método.

então estou um pouco confuso sobre a aplicação deles em:

a) nível de classe

b) Nível do método

Também encontrei alguns@Requestmapping com type: GET / Post, enquanto alguns exemplos não possuem parâmetro de tipo.

Qual abordagem é melhor ..?

Versões mais recentes (> Spring 2.5) não precisam de tipo de parâmetro para mapeamento de solicitação ???