2009-12-04 3 views
0

J'ai des objets JDO que je veux créer avec les informations d'un fichier de propriétés.Configuration du fichier Spring, db et de la propriété

Mais comme le printemps n'est pas utilisé pour créer (c'est-à-dire que ces objets ne sont pas listés comme des beans dans le xml.), Ces objets comment puis-je l'obtenir pour configurer ces objets?

Seule la solution que je peux proposer est d'avoir les informations de fichier de propriétés configurées dans le dao et ensuite le dao insérer ces données dans l'objet avant de le renvoyer. Ou je suppose que je peux faire un peu de magie AOP, mais cela semble dur et je ne pense pas que cela fonctionnera dans Google App Engine où ce service sera déployé.

Tout autre conseil.

+0

Qu'essayez-vous vraiment de faire? Si vous voulez définir les valeurs d'un objet JDO, pourquoi ne pas les charger depuis le magasin de données? Quel est le point du fichier de propriétés? –

+0

Balise supprimée pour JDO, puisque JDO est le mécanisme de persistance mais n'impose aucune contrainte sur un objet, étant ce que certains appellent un POJO, donc le problème n'a rien à voir avec JDO; c'est simplement un des haricots de printemps – DataNucleus

Répondre

1

Vous pouvez mettre n'importe quel bean dans applicationContext.xml et y configurer toutes ses propriétés. Le fichier de propriétés peuvent être chargés via:

<context:property-placeholder location="classpath:application.properties" /> 

puis, sur votre définition de haricot:

<property name="propertyName" value="${valueFromPropertiesFile}" /> 

Ensuite, afin d'avoir le grain correctement configuré, vous devrez injecter - soit dans le applicationContext.xml, ou via @Resource/@Autowired

Mais si vous ne pouvez pas laisser le printemps créer et configurer vos haricots, puis les remplir simplement avec vos propriétés manuellement - charger un fichier de propriétés avec java.util.Properties, et remplissez les données nécessaires.

+0

L'objet JDO n'a pas pu être injecté, il est créé par le DAO et il y en aura plus d'un alors comment le ressort pourrait-il savoir lequel injecter? – arinte

+0

bien, alors vous ne pouvez pas utiliser le printemps. Vous devez remplir vos objets au moment où vous les avez instanciés. Chargez vos propriétés manuellement. – Bozho

+1

Il pourrait réellement en fournissant une usine de haricots de printemps de stateful. Cependant, habituellement, ce genre de choses relève de la catégorie consistant à forcer l'utilisation de la technologie pour le bien de la technologie elle-même au lieu du besoin réel, donc je ne le recommanderais pas. – Esko

0

J'ai quelques objets JDO que je veux créer avec les informations d'un fichier de propriétés.

Je ne comprends pas l'idée. Ces objets sont-ils persistants ou non? Si c'est le cas, chargez-les simplement depuis le magasin de données. Sinon, ils ne sont pas vraiment des objets JDO comme indiqué dans les commentaires. Et dans ce cas, je ne comprends pas le point de la DAO et du fichier de propriétés. Pourquoi ne les déclarez-vous pas comme des haricots de printemps?

Questions connexes