@PostConstruct d'annotation et de printemps cycle de vie

Je suis nouveau sur le Printemps, je voudrais savoir:

J'ai une classe java annoté avec @Composant (le printemps) et à l'intérieur j'ai une méthode annotée avec @PostConstruct. La classe est ensuite référencé par @Autocâblés annoté champ dans une autre classe. Puis-je supposer que la classe n'est injecté après @PostConstruct est appelé?

@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")

  }

}
Oui, vous pouvez supposer qu'il... le Printemps crée d'abord la fève, puis vérifie l'éventuelle @PostConstruct annotation et enfin injecte le haricot. Je vois, en tout cas, que vous n'utilisez pas de printemps de l'objet dans le populateMetricsRegistry méthode. Dans ce cas, pour cet objet (paramètres de l'objet), il est de votre responsabilité de gérer le cycle de vie correcte
Je suis confus au sujet de la une autre classe. Votre AuthenticationMetrics classe sera instanciée, ses champs seront injectés (aucun dans cet exemple), puis @PostConstruct sera appelée. Si vous êtes l'injection de AuthenticationMetrics quelque part, il sera injecté avant que quelque part's @PostConstrtuct est invoquée.

OriginalL'auteur Daniele | 2017-06-21