2011-11-26 30 views

Trả lời

9

Có một tính năng mới @Profile vào mùa xuân 3,1 rằng sẽ thực hiện công việc

Từ here

Xuân 3.1 giới thiệu các khái niệm về hồ sơ môi trường. Một trường hợp sử dụng phổ biến là là việc thiết lập các hạt khác nhau giữa các môi trường phát triển, QA và môi trường sản xuất khác nhau giữa các tình huống phát triển . Một ví dụ điển hình là sẽ chống lại một DataSource độc ​​lập trong phát triển so với tìm kiếm DataSource từ JNDI trong quá trình sản xuất. Một ví dụ khác là một hồ sơ đậu cho hồ sơ có thể dễ dàng bật hoặc tắt. Bạn có thể thêm thuộc tính tiểu sử trên phần tử hạt trong XML hoặc thêm @Profile chú thích trong mã. Lưu ý rằng một bean Spring có thể được gán cho nhiều cấu hình.

<beans profile="dev"> 
    ... 
</beans> 
@Profile("dev") 
public class Bean { 
    ... 
} 

Những hồ sơ có thể được kích hoạt thông qua các spring.profiles.active tài sản có thể được xác định thông qua một biến môi trường, một tài sản hệ thống JVM , một Servlet trong web.xml hoặc JNDI. Các cấu hình này cũng có thể được kích hoạt thông qua mã sử dụng Environment.setActiveProfiles (Chuỗi ...). Để làm cho cấu hình bean hoạt động, các phần tử bean lồng nhau hiện được phép trong XML Spring, mặc dù chỉ bị hạn chế ở cuối tệp. Lưu ý rằng nó được đề nghị để giữ topo đậu của bạn càng gần càng tốt giữa các môi trường, do đó, ứng dụng của bạn được kiểm tra thích hợp trên các môi trường. Bạn cũng cần sử dụng phương thức Environment.containsProperty() để tìm kiếm các thuộc tính trên các nguồn thuộc tính khác nhau. Độ phân giải thuộc tính này cũng hoạt động với biến $ {placeholder} trong định nghĩa bean XML.

+0

Nếu đây là trường hợp sử dụng, hãy làm theo hoặc chỉ nhận xét nó như là @Skaffman đã nói –

+0

+1 cho câu trả lời này. Tiểu sử rock! –

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