Tôi muốn tạo một số hạt đậu mùa xuân sau khi khởi động theo kiểu nhà máy-ish. Ví dụ như thường xuyên như vậy tôi có một số công việc để làm và tôi cần phải tạo một bean nhiệm vụ (có thể có phụ thuộc vào các bean mùa xuân khác) và thực thi nó.Tạo hạt theo yêu cầu bằng cách sử dụng lò xo
Có thể có một vài phần công việc để thực hiện đồng thời do đó mỗi bean nhiệm vụ cần phải độc lập (nguyên mẫu).
Có bất kỳ người mẫu chung nào sử dụng để đạt được điều này không?
Như tôi thấy, tôi cần tương tác với vùng chứa/applicationContext bằng cách nào đó nhưng tôi không thực sự muốn phân tán các tệp applicationContext/beanFactory và gọi tới getBean ("...") ở mọi nơi.
Tôi nghĩ đến một cái gì đó như thế này (lưu ý các "nhà máy" là một cái gì đó tôi tưởng tượng, chứ không phải là cái gì đó tồn tại)
<bean id="myTask" class="MyTask" scope="prototype">
<property name="entityManager" ref=".../>
...
</bean>
<bean id="myTaskExecutor" class="MyTaskExecutor">
<property name="taskFactory">
<xxx:factory bean="myTask"/>
</property>
</bean>
Và sau đó mã
class MyTaskExecutor
{
private Factory<MyTask> taskFactory;
public void setTaskFactory(Factory<MyTask> taskFactory)
{
this.taskFactory = taskFactory;
}
}
Và có lẽ một chú thích phiên bản
class MyTaskExecutor
{
@Factory(MyTask.class)
private Factory<MyTask> taskFactory;
}
Có thể có điều gì đó giống như trên? Hay tôi thiếu cái gì đó cơ bản ở đâu đó.
Tôi nhận ra mình có thể có một MyTaskFactory đơn và sử dụng nó để khởi tạo bằng cách sử dụng "mới" nhưng sau đó tôi phải vượt qua tất cả những người phụ thuộc của nó từ nhà máy mà cảm thấy sai.
Vì vậy, tôi đoán để tổng hợp các câu hỏi được
cách khuyến khích tạo ra đậu mùa xuân nguyên mẫu theo yêu cầu từ bên trong mã ứng dụng là gì?
Đánh giá cao mọi đầu vào.
Tôi nhận được những gì bạn đang nói nhưng nó vẫn không cảm thấy giống như một giải pháp tuyệt vời (tôi đã đề cập có một nhà máy ở trên). Hãy xem xét nếu MyTask có sự phụ thuộc vào các hạt cà phê có vỏ nguyên mẫu khác, mỗi hạt có phụ thuộc riêng của chúng. Tôi sẽ phải sản xuất tất cả những người trong nhà máy (và tiêm phụ thuộc vào nhà máy của tôi) và chuyển chúng qua MyTask, hoặc có MyTask tạo ra chúng, và có nhà máy vượt qua tất cả các phụ thuộc của bean nguyên mẫu khác. Đó là tất cả cảm giác giống như không sử dụng lò xo cho người độc thân, chỉ trong trường hợp này, nó là dành cho hạt đậu nguyên mẫu. –
xem chỉnh sửa liên quan đến '@ Configurable' – skaffman