Tôi đang cố gắng sử dụng Vùng chứa khung IoC Spring để tạo một thể hiện của lớp ThreadPoolExecutor.CallerRunsPolicy. Trong Java, tôi muốn làm điều đó theo cách này ...Làm thế nào để tạo một bean Spring từ một hàm tạo lớp bên trong tĩnh?
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
...
RejectedExecutionHandler rejectedExecutionHandler = new ThreadPoolExecutor.CallerRunsPolicy();
Nhưng khi tôi cố gắng làm việc tương đương trong mùa xuân, nó ném một CannotLoadBeanClassException.
<beans>
<bean class="java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy"/>
</beans>
Thông thường hơn: trong ứng dụng SpringContext XML, bạn có thể gọi một hàm tạo của lớp bên trong tĩnh như thế nào?
đọc lại câu hỏi và mẫu mã ban đầu Tôi nhận ra rằng vẽ không cố gắng gọi một phương thức tĩnh nào cả; chỉ là hàm tạo của một lớp lồng nhau. Cú pháp '$' là đúng để sử dụng ở đây, tôi đã sử dụng nó trước đây. –
Điều đó đã hoạt động, cảm ơn Ankit. Tài liệu Spring có tại đây: http://static.springsource.org/spring/docs/2.0.x/reference/beans.html#beans-factory-class và nó nói "để định cấu hình định nghĩa bean cho lớp bên trong tĩnh, bạn phải sử dụng tên nhị phân của lớp bên trong. " – Drew