MTI TEK
Spring Framework | Spring Core Concepts

The Spring Application Context

Component Scanning & Autowiring

Key Annotations

@Configuration

@Bean

// Full mode — inside @Configuration (proxied)
@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyService();
    }
}

// Lite mode — inside @Component (not proxied)
@Component
public class AppComponents {
    @Bean
    public MyService myService() {
        return new MyService();
    }
}

@Component, @Controller, @Service, @Repository

@ComponentScan

@SpringBootConfiguration

@EnableAutoConfiguration

@SpringBootApplication

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

@SpringBootTest

@SpringBootTest
class MyApplicationTests {
    @Test
    void contextLoads() { }
}