All topics / Spring Framework (Core) From Zero

Spring Framework (Core) From Zero

Learn the Spring that Spring Boot auto-configures: the IoC container and ApplicationContext, defining beans with @Configuration and @Bean, dependency injection in depth, bean scopes and lifecycle, AOP and the proxies that power @Transactional, and Spring MVC without Boot. Write the config Boot hides — and the magic disappears.

  1. Spring Without Boot — Why Core Spring? Spring Boot is core Spring plus auto-configuration, starters, and an embedded server. Here we build a Spring app by hand so every piece Boot generates becomes visible.
  2. The IoC Container & ApplicationContext The container deeply: Inversion of Control made concrete, what a bean really is, BeanFactory vs ApplicationContext, how the container bootstraps your object graph, and why you rarely call getBean.
  3. Defining Beans: @Configuration & @Bean The two ways to put beans in the container — @Bean factory methods and component scanning — when to reach for each, and why @Bean methods are the manual version of Boot's auto-configuration.
  4. Dependency Injection, Deep Constructor vs setter vs field injection and why constructor wins, exactly how @Autowired resolves a bean, fixing ambiguity with @Primary and @Qualifier, injecting collections of beans, and @Value for config.
  5. Bean Scopes & Lifecycle How many instances the container makes and how long they live: singleton vs prototype vs web scopes, the thread-safety trap of shared singletons, the prototype-in-singleton gotcha, the full bean lifecycle, and BeanPostProcessor.
  6. Spring AOP & Proxies How aspect-oriented programming works in Spring — and the proxy mechanism behind it. This is the phase that demystifies @Transactional, @Async, and @Cacheable, and explains the self-invocation gotcha at its root.
  7. Spring MVC Without Boot How Spring MVC actually works under the hood: the DispatcherServlet front controller, wiring the web layer by hand, and the realization that Boot configures all of this for you.
  8. From Core Spring to Spring Boot Tie it all together: Spring Boot is core Spring plus auto-configuration, starters, and an embedded server. You can now assemble a Spring app by hand — the magic is gone.