2009-12-11 17 views
3

En travaillant sur un projet de grande taille, nous avons commencé à utiliser le ressort pour gérer notre injection de dépendance. Comme la plupart des développeurs sont en train de migrer à partir de la classe avec état de codage, nous avons constaté que certains des beans sans état contiennent des variables d'instance qui sont elles-mêmes à état. Corrigez-moi si je me trompe, il ne devrait pas être trop difficile d'écrire un test unitaire pour vérifier que tout le bean sans état défini au printemps xml est en fait sans état (ie le bean ne devrait pas avoir de variable d'instance au printemps xml). Avant que je vais essayer d'en écrire un, je me demande s'il existe un outil existant pour vérifier cela?Toute méthode existante pour s'assurer que les haricots définis au printemps xml sont apatrides?

Thx

+0

Pourquoi voulez-vous dire par "sans état"? Une classe Java sans champs? Ce ne serait pas juste un tas de haricots de printemps qui ne se parlent pas? – skaffman

+0

Voulez-vous dire que vous voulez vous assurer que vos variables d'instance ne changent jamais? – bertolami

+0

haricot peut certainement avoir champ, cependant, je comprends que le haricot de printemps sera réutilisé dans-conteneur, donc les champs dans le haricot potentiellement peuvent porter l'état vers l'avant, de sorte que ces champs doivent être définitifs ou définis au printemps xml trop (il peut être bean apatride ou prototype .., au moins leur définition est bien pensée) – bing

Répondre

1

Check out spring context analyzer. Il détecte quelques-unes des erreurs de portée/de câblage courantes du ressort, y compris les proxies de portée manquants et l'état de champ post-construction suspect dans vos beans. Je sais que de nombreux projets ont été sauvés;)