2011-07-07 26 views
5

Tôi khá mới với khái niệm về tiêm phụ thuộc và chúng tôi hiện đang viết một ứng dụng web bằng JSF và có thể là Primefaces. Chúng tôi hiện đang đánh giá xem có sử dụng Spring hay EJB3 hay không. Tôi đã thực sự gần gũi để chọn Spring, nhưng sau đó tôi đã nghe về CDI. Bạn có thể cho chúng tôi một số gợi ý, có thể là tốt nhất cho tình huống sau đây:Mùa xuân hoặc CDI hoặc EJB3

Hiện tại chúng tôi rất mới với thế giới J2EE và không biết chúng tôi có sử dụng Glassfish hay JBoss hay không. .

Ứng dụng web về cơ bản là nguyên mẫu cho ứng dụng CRUD doanh nghiệp cần có khả năng xử lý logic nghiệp vụ phức tạp. Chúng tôi muốn tập trung vào "khả năng thích ứng", vì một số yêu cầu không rõ ràng và sẽ được quyết định khoảng một năm sau đó (khi chúng tôi biết nếu chúng tôi vẫn có thể sử dụng nguyên mẫu).

Chúng tôi không thể sử dụng Hibernate vì chúng tôi sẽ phải viết các câu lệnh SQL khá phức tạp. Hiện tại chúng tôi đã có những trải nghiệm tốt với việc trừu tượng hóa SQL trong Spring.

Maybee Tôi hiện đang so sánh táo và cam, nhưng có quá nhiều thông tin, nếu bạn chưa quen với j2ee. Tôi nghĩ rằng EJB là tiêu chuẩn được xác định thông qua JCP, Spring là tiêu chuẩn được xác định bởi thị trường và CDI là một tiêu chuẩn cũng được xác định bởi JCP để làm những gì mà Spring có thể làm. Nhưng tôi chắc chắn là sai ;-).

Thx,

iuiz

+1

Câu hỏi dễ, câu trả lời không thể. Chắc chắn yêu cầu của bạn không loại trừ bất kỳ đối thủ cạnh tranh nào trong cuộc đua. Nó khá dễ dàng để google như nhiều flamewars xung quanh chủ đề này như bạn muốn - và quyết định cuối cùng sẽ hoàn toàn tùy thuộc vào bạn và sở thích của bạn. –

+0

Thx. Nhưng đó là một điểm rất quan trọng bạn đã đạt được, bởi vì ít nhất tôi biết rằng tôi không nhìn vào một cái gì đó hoàn toàn vô dụng và lỗi thời. – iuiz

Trả lời

8

Lincoln Baxter làm một công việc tuyệt vời giải thích sự khác biệt về kỹ thuật trong bài viết này: http://ocpsoft.com/java/spring-to-java-ee-a-migration-guide-cdi-jsf-jpa-jta-ejb/ câu chuyện dài ngắn: cả hai mùa xuân và CDI cả hai sẽ có thể cung cấp dependency injection. Một là tiêu chuẩn Java EE, một công nghệ thông dụng khác. Glassfish và JBoss đều chạy ứng dụng Spring và ứng dụng CDI mà không gặp vấn đề gì. Theo như không thể sử dụng Hibernate, nó không phải là trường hợp mà bạn không thể sử dụng native SQL trong Hibernate. Lưu nhóm của bạn rất nhiều mã CRUD chết đơn giản nếu bạn có thể.

+0

Cảm ơn bạn. Tôi sẽ xem xét bài viết này. Có vẻ khá hứa hẹn. Tuy nhiên điều Hibernate ist một cái gì đó mà tôi hỏi một số thời gian trước đây http://stackoverflow.com/questions/5769943/java-database-abstraction-for-gwt-or-is-hibernate-a-good-choise và chúng tôi quyết định chống lại nó . – iuiz

Các vấn đề liên quan