What's the difference between @component @controller @repository and ...

What's the difference between @component @controller @repository and ...