2011-08-18 8 views
5

Với một ứng dụng web hoàn toàn sử dụng @RequestMapping để buộc các url vào bộ điều khiển, tôi đã tự hỏi liệu có một cách hoặc trình cắm thêm có thể tạo ra ánh xạ url-to-controller hoàn chỉnh của ứng dụng web không?Có tìm kiếm nhanh về ánh xạ url-to-controller khi @RequestMapping được sử dụng không?

Tương tự như struts.xml nơi bạn có tất cả các ánh xạ url đến một hành động, do đó bạn có thể xem các thông tin này ở vị trí trung tâm?

Nếu không, điều gì xảy ra được cung cấp một url từ màn hình, tôi sẽ thực hiện tìm kiếm tệp java mỗi lần tôi muốn tra cứu bộ điều khiển của url đó.

Trả lời

8

Eclipse có Plugin SpringSource Tool Suite (bạn cũng có thể tải nó độc lập): http://www.springsource.com/developer/sts Trước tiên, bạn phải thêm bản chất dự án Spring để dự án của bạn, sau đó chuyển sang Java EE quan điểm và sau đó bạn sẽ thấy "Spring Elements" trong dự án của bạn và ở đó bạn sẽ thấy tất cả các ánh xạ yêu cầu (và nhiều hơn nữa).

chỉnh sửa: các tính năng hữu ích như thế này trong STS đã khiến tôi chuyển từ NetBeans sang Eclipse.

+0

Bạn nói đúng, ngay dưới mũi tôi! Điều mặc dù, như tôi đã thử bây giờ, xem Spring Explorer của tôi là nói rằng hạt của tôi có lỗi cần phải được giải quyết, nhưng dự án hoạt động tốt mặc dù, tôi có nghĩa là tôi có thể chạy dự án và không có lỗi. Có lẽ chỉ là lỗi IDE ... Tôi sẽ tiến hành sửa đổi điều này để làm cho nó hoạt động, nhưng có thậm chí có một khung nhìn @RequestMapping. Hy vọng rằng, tôi có thể làm cho nó hoạt động sớm. –

+0

Thử làm mới dự án của bạn (F5) và/hoặc khởi động lại Eclipse. Ngoài ra nếu bạn có nhiều tệp cấu hình Spring, STS cần phải có chúng "groupped together" bằng cách sử dụng Config Set - xem thuộc tính của dự án -> Spring -> Beans Support. Bạn cũng có thể vô hiệu hóa một số cảnh báo/lỗi trong thuộc tính dự án -> Spring. –

+0

Chỉ trong trường hợp ai đó vẫn đang tìm kiếm khung nhìn Spring tuyệt vời đó: "Spring Elements" không được hiển thị trong Package Explorer - bạn phải chuyển sang Project Explorer để xem nó. –

0

Bạn luôn có thể nối chế độ DefaultAnnotationHandlerMapping và trích xuất tất cả các ánh xạ. Một cái gì đó như:

@Autowired 
// org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping 
private DefaultAnnotationHandlerMapping defaultAnnotationHandlerMapping; 

public void outputMappings() { 
for (Map.Entry<String, Object> entry : 
    defaultAnnotationHandlerMapping.getHandlerMap().entrySet()) { 
     System.out.println(entry.getKey() + "->" + 
          entry.getValue().getClass().getName()); 
    } 

} 

Xem AbstractUrlHandlerMapping.getHandlerMap()DefaultAnnotationHandlerMapping