Để hiểu rõ hơn về Spring:

  1. Spring phần 1: Spring là gì ? Giới thiệu Spring Framework trong Java
  2. Spring phần 2: Cài đặt Spring Tool Suite Cho Eclipse

Và cùng đến với Series Spring Core:

  1. Spring Core – Phần 1: Spring IoC , Inversion of Control trong Spring
  2. Spring Core – Phần 2: Spring Bean, Các scope trong Spring, Spring Bean Scope
  3. Spring Core – Phần 3: Spring Dependency Injection, DI trong Spring, so sánh CI – SI
  4. Spring Core – Phần 4: Spring Dependency Injection với Object, Collections, Map
  5. Spring Core – Phần 5: Spring AOP là gì? code ví dụ với Spring AOP
  6. Spring Core – Phần 6: AspectJ là gì? Spring AOP + AspectJ ví dụ với AspectJ
  7. Spring Core: Phần 7 – Spring PropertyPlaceholderConfigurer, lấy dữ liệu từ file properties
  8. Spring Core – Phần 8: Autowiring trong Spring, annotation @Autowired trong Spring, các kiểu autowiring
  9. Spring Core – Phần 9: Spring Auto Component Scanning, Các annotation hay dùng trong Spring
  10. Code ví dụ Spring đọc file từ resource folder (resources)
  11. Code ví dụ gửi email – gmail với Spring

1. Spring Bean là gì?

Spring Bean là các object trong Spring Framework, được khởi tạo thông qua Spring Container. Bất kỳ class Java POJO nào cũng có thể là Spring Bean nếu nó được cấu hình và khởi tạo thông qua container bằng việc cung cấp các thông tin cấu hình (các file config .xml, .properties..)

2. Các Bean Scope trong Spring

Có 5 scope được định nghĩa cho Spring Bean:

  • Singleton: Chỉ duy nhất một thể hiện của bean sẽ được tạo cho mỗi container. Đây là scope mặc định cho spring bean. Khi sử dụng scope này cần chắc chắn rằng các bean không có các biến/thuộc tính được share.
  • Prototype: Một thể hiện của bean sẽ được tạo cho mỗi lần được yêu cầu(request)
  • Request: giống với prototype scope, tuy nhiên nó dùng cho ứng dụng web, một thể hiện của bean sẽ được tạo cho mỗi HTTP request.
  • Session: Mỗi thể hiện của bean sẽ được tạo cho mỗi HTTP Session
  • Global-Session: Được sử dụng để tạo global sesion bean cho các ứng dụng Portlet.

Trong 5 scope trên thì 3 scope cuối chỉ dùng trong ứng dụng web.

Spring Core - Phần 2: Spring Bean, Các scope trong Spring, Spring Bean Scope

Bạn cũng có thể tự định nghĩa các scope cho riêng mình, tuy nhiên các scope cung cấp bởi spring dùng tốt và đáp ứng hầu hết các trường hợp.

Để thay đổi Scope của các bean bạn có thể định nghĩa nó trong file xml, hoặc các annotation:

hoặc

Spring Core - Phần 2: Spring Bean, Các scope trong Spring, Spring Bean Scope

 

Okay! Done.


Loạt bài chủ đề Java trên trang stackjava.com bản quyền thuộc thầy Trần Hữu Cương. Bài viết đăng trên blog Techmaster được sự đồng ý của tác giả.

Thầy Trần Hữu Cương đã và đang tham gia giảng dạy tại Techmater khoá Lộ trình Java Spring Boot Full Stack

Link gốc bài viết tại đây.