Spring Core là một phần của Spring framework cung cấp các cơ chế cơ bản để tích hợp vào các ứng dụng. Spring hoạt động dựa trên nguyên lý inversion of control (IoC). Khi sử dụng nguyên tắc này, thay vì cho phép ứng dụng kiểm soát quá trình thực thi, bạn trao quyền kiểm soát cho một số phần mềm khác—trong trường hợp này là Spring framework. Thông qua các cấu hình, bạn hướng dẫn framework về cách quản lý code mà bạn viết, code này xác định logic của ứng dụng. Đây là nguồn gốc của "inversion" trong IoC: bạn không để ứng dụng kiểm soát việc thực thi bằng code của chính nó và sử dụng các dependencies. Thay vào đó, bạn cho phép framewrok (phần dependencies) kiểm soát ứng dụng và code của nó.
Trong ngữ cảnh này, thuật ngữ “controls” đề cập đến các hành động như “tạo một instance” hoặc “gọi một phương thức”. Một framework có thể tạo các đối tượng của các lớp bạn xác định trong ứng dụng của mình. Dựa trên các cấu hình mà bạn viết, Spring chặn phương thức để bổ sung cho nó các tính năng khác nhau. Ví dụ: Spring có thể chặn một phương thức cụ thể để ghi lại bất kỳ lỗi nào có thể xuất hiện trong quá trình thực thi phương thức đó.
Inversion of control. Thay vì thực thi code riêng của nó, sử dụng một số phần phụ thuộc khác, trong trường hợp IoC scenario, việc thực thi ứng dụng được kiểm soát bởi dependency. Spring framework kiểm soát một ứng dụng trong quá trình thực thi. Do đó, nó thực hiện một IoC scenario.
IoC container dán các Spring components và các components của ứng dụng của bạn vào framework với nhau. Sử dụng IoC container mà bạn thường gọi là Spring context, bạn làm cho một số đối tượng nhất định được Spring biết đến, điều này cho phép framework sử dụng chúng theo cách bạn đã định cấu hình.
Spring có thể kiểm soát các instances được thêm vào IoC container của nó và một trong những điều nó có thể làm là chặn các methods thể hiện hành vi của các instances này. Khả năng này được gọi là aspecting của method. Spring AOP là một trong những cách phổ biến nhất mà framework tương tác với ứng dụng của bạn. Đặc điểm này làm cho Spring AOP cũng trở thành một phần thiết yếu. Một phần của Spring Core còn bao gồm resource management, internationalization (i18n), type conversion, và SpEL.