Heart of Spring java configuration mechanism are @Configuration classes. That's the place where we can define all properties of our Spring context.
Assuming that we lean our application on annotations (which should be true if we want to use java config) we create beans using @Component annotation (with derivatives like @Repository, @Service and @Controller). Varying annotations apply for different layers:
|@Component||generic for any compoenents|