2011-12-25 29 views
12

Tôi đã nhìn vào ngôn ngữ biểu hiện mùa xuân và nó có vẻ rất hữu ích nếu bạn đang sử dụng cho các tập tin cấu hình xml. Tuy nhiên, các tài liệu tham khảo cho rất nhiều ví dụ có sử dụng đoạn mã sau đây:Một số sử dụng hợp lệ cho spel (Ngôn ngữ biểu hiện mùa xuân) là gì?

ExpressionParser parser = new SpelExpressionParser(); 

String name = parser.parseExpression 

Khi nào và tại sao tôi sẽ sử dụng điều này như tôi có thể làm tất cả của nó sử dụng java thông thường. Tôi có thiếu một số tính năng hoặc sử dụng khác, nơi SpelExpressionParser có thể có ích? Có trường hợp sử dụng khác cho spel mà tôi không biết?

Trả lời

10

Bạn có thể sử dụng SpEL làm phương án đơn giản để phản ánh Java. Nó làm giảm rất nhiều mã cho bạn.
Một trong những trường hợp sử dụng, tôi đã có trong công việc của tôi là làm phẳng đồ thị đối tượng sâu thành cặp tên-giá trị cho mục đích tìm kiếm và lập chỉ mục.

Biểu đồ đối tượng có thể được khách hàng của chúng tôi mở rộng trong trường hợp đó các thuộc tính bổ sung cũng sẽ được lập chỉ mục. Bằng cách sử dụng Spel, khách hàng chỉ cần viết các biểu thức trong một số tệp thuộc tính và mã khung công tác sẽ xử lý việc trích xuất dữ liệu mới.

Tất cả các use-cases of Java reflection cũng là trường hợp sử dụng tiềm năng cho SpEL với tính đơn giản và mã giảm.

+0

cảm ơn ví dụ. – user373201

2

Để đánh giá biểu thức thời gian chạy tùy ý trong java bạn cần phải sử dụng khuôn khổ biên soạn, tạo ra một lớp, biên dịch nó, tải nó, ràng buộc nó, thực hiện nó, ...

ngôn ngữ biểu hiện và/hoặc kịch bản loại bỏ rất nhiều công việc bổ sung không liên quan trực tiếp đến vấn đề bạn đang cố giải quyết. EL nào có ý nghĩa nhất để sử dụng tùy thuộc vào nhiều yếu tố.

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