Bean Configuration: JavaConfig vs Annotations
Spring provides two primary ways to define beans: annotation-based (stereotype annotations like @Component, @Service, @Repository) and Java-based configuration (@Configuration + @Bean methods). Both are used in every Spring Boot application — annotations for your own classes, JavaConfig for third-party classes and explicit wiring.