Tôi mới đến mùa xuân, tôi muốn biết:@PostConstruct chú thích và mùa xuân vòng đời
Tôi có một lớp java chú thích với @Component (mùa xuân) và bên trong tôi có một phương pháp chú thích với @PostConstruct. Lớp này sau đó được tham chiếu bởi trường @Autowired được chú thích trong một lớp khác. Tôi có thể giả định rằng lớp này chỉ được tiêm sau khi @PostConstruct được gọi không?
@Component
class AuthenticationMetrics {
private static final MetricRegistry metrics = new MetricRegistry();
final Counter requestsTotal
final Meter guestLogins
final Meter kfUserLogins
final Timer guestLoginResponseTime
final Timer kfLoginResponseTime
@PostConstruct
public void populateMetricsRegistry() {
metrics.counter("authentication.requests.totals")
}
}
Có yuo có thể giả định nó ... Mùa xuân đầu tiên tạo ra đậu, sau đó kiểm tra @PostConstruct chú thích cuối cùng và cuối cùng là tiêm đậu. Tôi thấy, trong mọi trường hợp, rằng bạn đang sử dụng một đối tượng không mùa xuân trong phương thức populateMetricsRegistry. Trong trường hợp này đối tượng này (đối tượng số liệu) đó là trách nhiệm của riêng bạn để quản lý vòng đời chính xác –
Tôi đang bối rối về _another class_. Lớp 'AuthenticationMetrics' của bạn sẽ được khởi tạo, các trường của nó sẽ được tiêm (không có trong mẫu này), sau đó' @ PostConstruct' sẽ được gọi. Nếu bạn đang tiêm 'AuthenticationMetrics' ở đâu đó, nó sẽ được tiêm trước khi' @ PostConstrtuct' của _somewhere_ được gọi ra. –