2015-03-20 18 views
28

Trước đó các cấu hình được sử dụng để được mã hóa cứng trong mã, sau đó nó được chia ra thành các tệp .property (để tránh các giá trị mã hóa cứng, tránh thay đổi mã vì thay đổi cấu hình ..) sau đó nó chuyển sang XML (vì lợi ích của việc tiêu chuẩn hóa hơn, lỗi miễn phí..c)Lợi ích của JavaConfig trên cấu hình XML trong Spring?

Bây giờ, trong khi đọc về @Configuration trong Mùa xuân 3, có vẻ như chúng ta lại quay lại cách tiếp cận ban đầu.

Tại sao chúng tôi muốn cấu hình mã cứng trong mã chứ không phải là khi được mã hóa bên ngoài?

Trả lời

27

Có một số lợi thế

  1. Java là loại an toàn. Trình biên dịch sẽ báo cáo sự cố nếu bạn đang định cấu hình vòng loại lớp phù hợp.
  2. XML dựa trên cấu hình có thể phát triển nhanh chóng. [Có, chúng tôi có thể tách và nhập nhưng vẫn]
  3. Tìm kiếm đơn giản hơn rất nhiều, việc tái cấu trúc sẽ là hạnh phúc. Tìm kiếm một định nghĩa đậu sẽ dễ dàng hơn nhiều.

Vẫn còn những người thích cấu hình XML và tiếp tục làm điều đó.

Tài liệu tham khảo: Java configuration advantages Some more reasons

+1

Nó phụ thuộc vào loại cấu hình được nạp trong lớp Java. Theo như chúng ta thấy, có tất cả các cấu hình ở một nơi luôn an toàn. Chúng ta nên suy nghĩ tất cả mọi thứ trong quan điểm rộng hơn hoặc quy mô lớn. Nếu không xây dựng ứng dụng, chúng tôi có thể làm cho ứng dụng hoạt động theo những cách khác nhau trong môi trường khác nhau. –

+0

@ prashanth-g Các tệp cấu hình nguyên khối? Quy mô lớn? Tôi không nghĩ rằng tính toán. Hãy tưởng tượng nhiều thay đổi cấu hình từ nhiều nhà phát triển trên các mô-đun khác nhau. Tôi muốn có mỗi thay đổi được thực hiện trong các tệp cấu hình được mô đun hóa nhỏ hơn ở một nơi. – jonasespelita

+0

@jonasespelita Đó là một ứng dụng Monolithic trong một môi trường đa cụm. Tại thiết lập này, chúng tôi cảm thấy rằng có một số cấu hình như IP, URL, vv trong tệp XML sẽ là một giải pháp tốt hơn. Nhưng nó phụ thuộc vào nhu cầu và môi trường mà bạn có. Kiểm tra thêm https://stackoverflow.com/questions/182393/xml-configuration-versus-annotation-based-configuration –

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