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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.