Khác biệt giữa bản sửa đổi của “Spring Framework”

Nội dung được xóa Nội dung được thêm vào
Dòng 40:
{{đang dịch}}
 
* Bao gồm bộ quản lý cài đặt (''configuration management'') rất có hiệu lực dựa trên [[JavaBeans]] hùng mạnh, áp dụng lý thuyết [[đảo ngược quyền khống chế]] (IoC) làm cho việc mắc nối các chương trình ứng dụng trở nên nhanh chóng và dễ dàng hơn. Việc sử dụng (IoC) trong khung hình Spring còn được ám chỉ đến với cái tên [[Dependency Injection]](DI) (''Nghĩa đen: bơm hay tiếp thành phần phụ thuộc - từ bên ngoài vào lúc cần thiết, thay vì phải tự tạo từ bên trong''). Nguyên lý của IoC sử dụng trong Spring framework là một kỹ thuật nhằm ngoại biên hóa (''externalizes'') việc kiến tạo và quản lý của những thành phần phụ thuộc. Lấy ví dụ trường hợp lớp "Foo" phụ thuộc vào một thực thể cá biệt (''instance'') của "Bar" để thi hình một nhiệm vụ nào đấy. Trong phương pháp cổ truyền, "Foo" phải tự kiến tạo thực thể cá biệt của "Bar" dùng hành động "new" (''kiến tạo cái mới''), hoặc phải tiếp nhận thực thể cá biệt từ một lớp chế xuất nào đấy (''factory class''). Nếu sử dụng tiếp cận của IoC thì một tiến trình ngoại biên nào đấy sẽ cung cấp một thực thể cá biệt của "Bar" (hoặc một tiểu lớp (''subclass'') của nó) cho "Foo" trong thời gian chạy (runtime). Đây chính là nguyên nhân tại sao thành ngữ (DI) là một thành ngữ diễn tả tính năng của Spring rõ hơn (hơn là IoC).
* Một [[abstract factory pattern|mẫu hình chế xuất trừu tượng]] (''abstract factory pattern'') [[Enterprise Java Beans]] (ẸB) nòng cốt, có thể sử dụng trong bất cứ môi trường nào, từ những cơ chế bao bọc (''containers'') [[applet]]s cho đến [[Java EE]].
Dòng 46:
* Một lớp trừu tượng chung chung quản lý [[giao dịch cơ sở dữ liệu]] (''database transaction''), cho phép các bộ phận quản lý giao dịch được bổ trợ theo lối lắp ráp (pluggable), và tạo điều kiện thuận lợi cho việc phân định danh giới các giao dịch (''demarcate transactions'') mà không cần phải xử lý với những vấn đề ở tầng đưới (''low-level issues'').
 
* NhữngBao gồm một số các chiến lược chungphổ thông đã được cài sẵn bên trong (''Built-in generic strategies'') dành cho [[Java Transaction API|JTA]] và một đơn thể nguồn dữ liệu [[Java Database Connectivity|JDBC]] nguồn dữ liệu (''DataSource''). Đối lập với những giao dịch do cơ chế bao bọc quản lý (''Container-Managed Transactions'' - CMT) đơn thuần trong JTA hoặc [[EJB]], hỗ trợ đối với giao dịch trong bộ khung Spring không đòi hỏi môi trường [[Java EE]].
 
* Tầng liên nối với cơ sở dữ liệu (''JDBC abstraction layer '') cung cấp một cơ chế tầng cấp đầy ý nghĩa đối với những ngoại lệ (''exception hierarchy'') (không còn phải dựa vào việc nắn bóp mã nguồn của nhà sản xuất phần mềm như đối với SQLException nữa), đơn giản hóa việc xử lý lỗi, và cũng đồng thời thuyên giảm số lượng dòng lệnh mà lập trình viên cần phải viết. Quí vị sẽ không bao giờ phải viết một khối 'finally' trong các dòng mã sử dụng JDBC nữa. Những ngoại lệ hướng JDBC đều phục tùng với cơ chế ngoại lệ tầng cấp chung DAO ([[Data Access Object]]) của Spring.
 
* IntegrationTích withhợp với [[Hibernate (Java)|Hibernate]], [[Java Data Objects|JDO]] and [[iBATIS]] [[SQL Maps]]: intrên termspương ofdiện cầm dữ tài nguyên (''resource holders''), DAOhỗ implementationtrợ supportphần thực thi DAO, and các chiến lược giao dịch (''transaction strategies''). First-classĐứng hàng đầu trong việc hỗ trợ Hibernate supportvới rất withnhiều lotstính ofnăng IoC conveniencetiện featuresdụng, addressinggiải manyquyết typicalnhiều Hibernatenan integrationđề issuestrong việc tích hợp với Hibernate. AllTất ofcả thesenhững complytính withnăng Spring'snày genericđều transactionphục andtùng cơ chế tầng cấp giao dịch chung cùng tầng cấp ngoại lệ DAO exceptioncủa hierarchiesSpring.
 
* Khung hình [[mô hình-giao diện-bộ khống chế]] (''Model-view-controller, hay MVC'') dành cho [[ứng dụng mạng]] (''web application''), được gây dựng trên nền tảng của Spring.
* Flexible [[Model-view-controller|MVC]] [[web application]] framework, built on core Spring functionality. Developers have a high degree of control over this framework via strategy interfaces, and it accommodates multiple view technologies like [[JavaServer Pages|JSP]], [[FreeMarker]], [[Velocity (software)|Velocity]], [[Tiles]], [[iText]], and [[Apache Jakarta POI|POI]]. Note that a Spring [[Three-tier (computing)|middle tier]] can easily combine with a web tier based on any other web MVC framework, like [[Apache Struts|Struts]], [[WebWork]], or [[Tapestry (programming)|Tapestry]].
 
* [[Aspect-oriented programming]] framework to provide services like transaction management. AOP provides the ability to implement crosscutting logic—that is, logic that applies to many parts of your application—in a single place and to have that logic applied across your application automatically.
 
As MVC [[design pattern (computer science)|patterns]] (such as [[Apache Struts|Struts]]) often have difficulty in providing a clear framework for designing the Model part of an application, Spring's ability to work easily with such patterns means that developers can quickly refactor many unsuccessful approaches to make use of Spring's JDBC abstraction layer.
 
 
 
== Giới thiệu Bộ khung Spring ==