The interviewer asks: What is Spring?

My answer: a framework for enterprise development, in order to simplify development.

Interviewer: No?

I: that?

I only remember the conclusion, but do not remember the process, alas deep sigh!!!!

First, we need to understand what Spring does as a framework and how it simplifies development. That’s what we really need to know. Is Spring really good? What are his flaws? The benefits of this design? Explore one by one.

1. What is the Spring Framework

Introduction: It was created to address complex enterprise-level development

Purpose: To simplify enterprise development

How to simplify development?

  1. Pojo-based lightweight and minimally invasive programming
  2. Loose coupling is achieved through dependency injection and interface orientation
  3. Declarative programming based on aspects and conventions
  4. Reduce style code with cuts and templates

The module

  • Core technologies: Dependency injection, events, resources, I18N, validation, data binding, type conversion, SpEL, AOP.

  • Tests: mock objects, TestContext framework, Spring MVC tests, WebTestClient

  • Data access: transactions, DAO support, JDBC, ORM, Marshalling XML.

  • Web: Spring MVC and Spring WebFlow Web framework

  • Integration: remote processing, JMS, JCA, JMX, email, tasks, scheduling, caching

The Spring framework has so far integrated more than 20 modules. These modules are segmented into core containers, data access/integration, Web, AOP (aspect oriented programming), tools, messaging, and test modules.