Question

J'ai une application structurée comme suit:

  • dao
  • domaine
  • principale
  • services
  • utils

Je l'ai fait une classe qui lit la configuration de l'application à partir d'un fichier XML. La question est où devrait-il être placé?

Par réflexe, je l'aurais placé dans les services publics, mais les classes utilitaires ont des méthodes statiques et qui sont apatrides alors que cette classe utilise une instance d'Apache Commons XMLConfiguration. Dois-je adapter simplement les méthodes si cette instance est limitée aux champs d'application des méthodes dans cette classe?

Était-ce utile?

La solution

Je suppose que les articles sont des paquets, alors je partirais avec le paquet principal .

  • dao
  • domaine
  • principale contient l'application et ses lecteurs de configuration
    • config
    • journal
  • services
  • utils

Pourquoi? La configuration d'une application, que ce soit en XML ou non et si elle est fondée sur un cadre d'application tel que ressort ou non, fait partie de sa fonctionnalité principale. Initialisant une application est la responsabilité principale de l'application. Toutes les fonctionnalités d'affaires, toutes les fonctionnalités brillantes qu'il fournit sont mises en œuvre dans les couches de domaine et services.

Vous avez raison, utils est tout au sujet des outils statiques ou similaires. Comme la configuration d'une application est très importante, je ne le déclare un utilitaire. Un utilitaire est quelque chose qui peut être facilement remplacé par un autre utilitaire de même type (par exemple par rapport à StringUtil StringUtils vs IOUtils etc., ils ont tous très fonctionnalités similaires)

Autres conseils

Cela dépend du type de système de construction et de l'application que vous utilisez I.G. Maven suggère de placer configfiles dans src / main / ressources

Dans le fichier WAR vous pouvez les placer dans WEB-INF ou WEB-INF / config

Selon la structure de votre projet, je suggère d'introduire une configuration de dossier ou de ressources, puisque presque tout le monde les attend là.

Si vous travaillez avec le printemps, jetez un oeil à Configuration Placeholders. Vous pouvez utiliser un simple fichier de propriétés java pour vos propriétés de configuration et placez-le sur votre chemin de classe (ou tout autre endroit). Alsou vous pouvez créer votre propre implémentation d'utiliser une forme différente de garder vos valeurs de configuration (XML, base de données, etc.)

configuration est un élément transversal ne correspond pas exclusivement à l'une de ces couches. Placez les fichiers de configuration (XML ou propriétés) dans le classpath et l'utiliser via Spring pour configurer vos haricots.

Pour les propriétés basées sur des données de configuration PropertyPlaceholderConfigurer est une bonne solution.

Je vous exhorte à jeter un oeil au printemps. Peut sembler exagéré pour vous en premier lieu, mais vous wil aimer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top