2009-03-10 33 views
10

Spring Framework là gì? Đóng góp của nó cho Hibernate là gì?Spring Framework

+11

Tại sao tất cả bỏ phiếu phủ định? Điều này có vẻ như một người không có kinh nghiệm hoặc muốn tìm hiểu về mùa xuân hoặc được giao nhiệm vụ làm như vậy. Yêu cầu hướng không có nghĩa là bạn bị tát. – Ascalonian

+3

10 lý do hàng đầu khiến bạn ghét Stack Overflow, nó là một thứ có vẻ như là Reddit. – Adam

+0

Ngoài ra còn có [phiên bản .NET của Spring] (http://www.springframework.net/). – Glenn

Trả lời

12

Hibernate là một đối tượng cụ Mapping quan hệ, một thay thế cho Entity Beans của Sun 2.0. Hibernate đã trở thành trong những năm qua "tiêu chuẩn thực tế" cho sự kiên trì đối tượng trong Java và API JPA ngày nay được lấy cảm hứng từ Hibernate (có thể được sử dụng như là thực thi JPA).

Spring là khung tiêm phụ thuộc cho phép bạn nối các thành phần và lợi ích từ các dịch vụ bổ sung như quản lý giao dịch khai báo, bảo mật khai báo, tích hợp với nhiều khung công tác khác, lớp trừu tượng vv. và làm cho nó có thể không có EJB và một container "nặng". Với Spring và Hibernate và ví dụ: Tomcat, bạn có một ngăn xếp Enterprise tốt đẹp. Mùa xuân là một container "nhẹ".

Mùa xuân và Hibernate có ảnh hưởng lớn đến cách chúng tôi xây dựng ứng dụng Java và việc áp dụng chúng là bằng chứng về sự cần thiết phải đơn giản hóa. Mặc dù vậy, tôi thấy Java EE 5 là câu trả lời của Sun đối với các giải pháp "không chuẩn" này để đơn giản hóa việc phát triển Java Enterprise. Vì vậy, có, Spring Hibernate được sử dụng rộng rãi với nhau và Spring cung cấp Hibernate (và JPA) tích hợp nhưng Spring và Hibernate là hai dự án khác nhau với bảng phân chia và quản trị riêng biệt. Họ có lợi ích chung nhưng IMO nhóm Hibernate quản lý Hibernate, nhóm Spring quản lý Spring.

1

Mùa xuân và Hibernate là hai khung riêng biệt có thể được sử dụng cùng nhau nhưng khác với việc không có gì để làm với nhau.

Hibernate là một công cụ ánh xạ đối tượng-quan hệ. Nó giúp các nhà phát triển muốn làm việc với các đối tượng miền được gắn vào các bảng cơ sở dữ liệu quan hệ. Nếu bạn sử dụng Hibernate, sự phức tạp của các tác vụ như kết nối theo lập trình tới một bộ kết quả cơ sở dữ liệu hoặc phân tích cú pháp được giảm thiểu rất nhiều.

Khung công tác Spring là một trong đó cung cấp một số công cụ, tất cả đều dựa trên một số lượng nhỏ các khái niệm cốt lõi. Nổi tiếng nhất trong số các khái niệm này là tiêm phụ thuộc, cho phép ghép các đối tượng lỏng lẻo có thể giúp phát triển và thử nghiệm dễ dàng hơn.

Ngoài hộp, Spring cung cấp một số công cụ giúp chơi độc đáo với các khung công tác khác - và Hibernate là một trong số đó. Mặc dù Hibernate là một công cụ tuyệt vời nhưng có một số mức độ phức tạp liên quan đến việc viết mã thực hiện các hoạt động cơ sở dữ liệu, cũng như xử lý ngoại lệ. Spring's Hibernate Template cố gắng giải quyết vấn đề này. Điều này có lẽ là những gì bạn có ý nghĩa của "đóng góp" của họ, mặc dù từ những gì tôi đã nhìn thấy những người đứng sau Hibernate không phải là người hâm mộ lớn của sự hỗ trợ này.

Bạn có thể sử dụng Spring mà không có Hibernate hoặc Hibernate không có Spring. Bạn thậm chí có thể có một dự án sử dụng Hibernate và Spring nhưng không sử dụng Spring Hibernate Template.

7

Khung công tác Spring (http://www.springframework.org) là ngăn xếp phát triển cho ứng dụng dựa trên Java EE. Những gì bắt đầu như là một container dependency injection đã phát triển thành một mô hình lập trình dựa trên POJO cho các ứng dụng doanh nghiệp, cung cấp các dịch vụ thường được sử dụng và trừu tượng hóa (quản lý giao dịch, bộ nhớ đệm, xử lý hàng loạt, v.v.).

Không có mối quan hệ trực tiếp với Hibernate (là một khung object-relational mapping), nhưng trong mô-đun ORM của nó, Spring cung cấp một lớp tích hợp cho nó. Trong số những lợi ích của việc sử dụng nó kết hợp với Hibernate là:

  • Khả năng sử dụng ranh giới giao dịch khai báo (minh bạch áp dụng thông qua cơ chế AOP Spring)

  • Exception dịch cho các lớp truy cập dữ liệu (để trừu tượng từ công nghệ bền bỉ thực tế sử dụng để thực hiện các giao diện DAO)

vì vậy, khi mùa xuân không thực sự đóng góp cho Hibernate (như xa như tôi biết), nó hoạt động rất tốt với Hibernate và cung cấp một số con lợi ích tạm thời.

0

Mùa xuân là một hộp chứa trọng lượng nhẹ (và khung công tác) giúp phát triển J2EE dễ dàng hơn, nhanh hơn và có thể mở rộng. Nó có một tính năng tích hợp tốt đẹp với Hibernate.

0

SPRING KHUNG

  • mạnh mẽ mã nguồn mở.
  • Khuôn khổ ứng dụng gọn nhẹ.
  • Giảm độ phức tạp tổng thể.
  • Công cụ toàn diện.
  • Khung khuôn khổ.
  • Tận dụng một loạt tài nguyên.

Tại sao mùa xuân trở nên phổ biến?

  • MVC
  • linh hoạt vì nó làm cho sử dụng giao diện.
  • dễ dàng hơn để kiểm tra.
  • IOC.
  • Tích hợp tốt hơn với công nghệ chế độ xem.
Các vấn đề liên quan