cuốn sách gpt4 ai đã làm

Làm cách nào tôi có thể giới hạn tính năng Tự động kết nối ở mức "sở hữu" mà tôi không sử dụng?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:19:35 30 4
mua khóa gpt4 Nike

Điểm chính là khung thử nghiệm Spring Batch (v2) có @Autowired chú thích JobLauncherTestUtils.setJob. Bộ thử nghiệm của chúng tôi có nhiều Công việc nhà cung cấp lớp học. Vì lớp này không phải là thứ tôi có thể sửa đổi nên tôi không chắc làm cách nào để có thể đủ điều kiện cho nó cho công việc của Autowiring, lớp này có thể khác nhau tùy theo từng thử nghiệm.

 STDOUT [CẢNH BÁO] [2015.04.15 11:14:42] support.GenericApplicationContext - Ngoại lệ gặp phải trong quá trình khởi tạo ngữ cảnh - hủy nỗ lực làm mới
org.springframework.beans.factory.BeanCreationException: Lỗi khi tạo đậu có tên 'jobLauncherTestUtilsForSnapshot': Việc tiêm ngoại lệ lồng nhau không thành công; org.springframework.beans.factory.BeanCreationException: Không thể tự động nối dây: public void org.springframework.batch.test.JobLauncherTestUtils.setJob(org.springframework.batch.core.Job); ngoại lệ lồng nhau là org.springframework.beans.factory.NoUniqueBeanDefinitionException: Không có loại đậu đủ điều kiện [org.springframework.batch.core. Job] được xác định: đậu phù hợp đơn được mong đợi nhưng đã tìm thấy 2: phạm vi bảo hiểmRuleBatch,tạo số liệuSnapshotJob

Tôi đã thử thêm JavaConfig được công nhận này nhưng lỗi cho biết nó vẫn được gọi tự động setJob

@Cấu hình
lớp công khai SpringTestConfiguration
{
@Bean
công khai JobLauncherTestUtils jobLauncherTestUtilsForSnapshot( công việc cuối cùng generateMetricsSnapshotJob )
{
JobLauncherTestUtils jobLauncherTestUtils = new JobLauncherTestUtils();
jobLauncherTestUtils.setJob( generateMetricsSnapshotJob );
trả lại jobLauncherTestUtils;
}
}

Lưu ý: Tôi không cần giải pháp JavaConfig, nhưng nó sẽ rất tuyệt. Ngoài ra, nếu có thể, tôi vẫn muốn Tự động kết nối Kho lưu trữ công việc và các trường khác vì chỉ có một trường.

câu trả lời hay nhất

Khi tôi gặp phải vấn đề tương tự, giải pháp của tôi là hạn chế quét thành phần để chỉ tạo một hạt công việc trong ngữ cảnh thử nghiệm.

@Cấu hình
@ComponentScan(basePackages={
"com.example.batch.jobs.metrics", //gói trong đó generateMetricsSnapshotJob là công việc duy nhất
"com.example.batch.common",
"..."
})
lớp công khai SpringTestConfiguration
{
@Bean
công khai JobLauncherTestUtils jobLauncherTestUtils()
{
//generateMetricsSnapshotJob và các yêu cầu khác sẽ được tự động cài đặt
trả về JobLauncherTestUtils mới();
}
}

Bạn có thể cần điều chỉnh cấu trúc gói của mình để làm cho nó hoạt động bình thường.

Về java - làm cách nào tôi có thể đủ điều kiện Tự động hóa mà tôi không sử dụng để "sở hữu", chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/29655796/

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress