2009-12-04 130 views
0

我有一些JDO对象,我想弹簧配置属性文件中的信息。Spring,db和属性文件配置

但是由于spring并没有用于创建(即这些对象在xml中没有被列为bean,它们应该如何看?)这些对象我怎样才能得到它来配置这些对象?

我只能想到的解决方案是将属性文件信息配置到dao中,然后让dao在返回对象之前将该数据插入到对象中。或者我想我可以做一些AOP魔术,但是这看起来很沉重,我认为它不适用于部署此服务的Google App Engine。

其他建议。

+0

你究竟在做什么?如果您想设置JDO对象的值,为什么不从数据存储加载它们?属性文件有什么意义? – 2009-12-05 08:55:06

+0

删除了JDO的标签,因为JDO是持久性机制,但对对象没有强制约束,被称为POJO,因此这个问题与JDO无关;它只是Spring beans的一个 – DataNucleus 2009-12-05 13:24:11

回答

1

您可以将任何bean放在applicationContext.xml中,并在其中配置其所有属性。 属性文件可以通过加载:

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

,然后,在你的bean定义:

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

然后,才能有正确配置的豆,你将不得不注入它 - 要么在applicationContext.xml,或通过@Resource/@Autowired

但是,如果你不能让春天的创建和配置您的豆子,然后只需用手动的性质进行填充 - 加载性能与012文件,并填写所需的数据。

+0

JDO对象不能被注入,它是由DAO创建的,并且会有不止一个,所以Spring如何知道注入哪个? – arinte 2009-12-04 17:21:19

+0

那么,那么你不能使用弹簧。你必须在你实例化它们的时刻填充你的对象。手动加载你的属性。 – Bozho 2009-12-04 17:23:38

+1

他实际上可以通过提供一个有状态的Spring bean工厂。然而,通常这种事情属于强迫使用技术而不是实际需要的技术,所以我不会推荐它。 – Esko 2009-12-05 08:47:12

0

我有一些JDO对象,我想弹簧配置属性文件的信息。

我不明白这个想法。这些对象是否持久?如果是,只需从数据存储中加载它们。如果不是,那么它们就不是真正的JDO对象,正如评论中指出的那样。在这种情况下,我不明白DAO和属性文件的重点。你为什么不把它们声明为Spring bean?

相关问题