Tôi đang cố tạo một khởi động mới. Tôi có một mô-đun kinh doanh, nói ProjectManager, có chứa một số lớp được chú thích bằng @Component. Theo hướng dẫn, tôi đã tạo ra một mô-đun autoconfigure, nó chứa một lớp AutoConfiguration. Thứ nhất, tôi đã cố gắng sử dụng @ComponentSan để tìm các hạt trong mô-đun kinh doanh của tôi.@ComponentScan không hoạt động trong lớp Khởi động tự động cấu hình của Spring?
@ComponentScan(value = {"com.foo.project"})
@ConditionalOnClass({Project.class})
@Configuration
public class ProjectAutoConfiguration {
....
}
Nhưng nó không hoạt động. Tôi phải bổ sung thêm lớp cấu hình như sau:
@Configuration
@ComponentScan(value = {"com.foo.project"})
@MapperScan(value = {"com.foo.project"})
public class ProjectConfig {
}
Và sau đó nhập nó vào lớp tự động cấu hình như dưới đây:
@Import(ProjectConfig.class)
@ConditionalOnClass({Project.class})
@Configuration
public class ProjectAutoConfiguration {
....
}
đó làm việc. Nhưng theo mùa xuân doc.
tự động cấu hình được thực hiện với các lớp @Configuration chuẩn
Vì vậy, câu hỏi của tôi là, Tại sao @ComponentScan không làm việc ở đây? Tôi đã làm gì sai sao? Hay là do thiết kế?
Bạn có nghĩa là, các lớp học với phương pháp chính? – Dongqing
có. chỉnh sửa bạn lớp chính như thế này. – emoleumassi
Nó hoạt động để thêm nó vào lớp chính. Vì vậy, bạn có nghĩa là @ComponentScan chỉ làm việc với lớp chính trong khởi động mùa xuân? – Dongqing