スプリングを使用するJavaアプリケーションがあり、テストする必要があります。EclipseにSpringpython1.3.0RCがインストールされたJython2.5.2を使用しています。Javaアプリケーションはプロパティファイルprop.propertiesを使用し、次のようなアノテーションを使用します。
@Value("${csvdatafetcher.filename:input.csv}")
プロパティファイルは次のとおりです。core.filedatafetcher.filename=test.csv
アプリケーションを呼び出そうとしています:
from springpython.context import ApplicationContext
from springpython.config import SpringJavaConfig
ctx = ApplicationContext(SpringJavaConfig("javaBeans.xml"))
service = ctx.get_object("csvDataFetcher")
春のxmlで:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans">
....
<bean id="props" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:classpath:prop.properties</value>
</property>
</bean>
<bean id="csvDataFetcher" class="com.framework.fetchers.CsvFileDataFetcher" />
</beans>
そしてそれは私にエラーを与えます:
Traceback (most recent call last):
File "/home/nir/.eclipse/org.eclipse.platform_3.6.1_185596441/plugins/org.python.pydev.debug_2.2.4.2011110216/pysrc/pydevd.py", line 1307, in <module>
debugger.run(setup['file'], None, None)
File "/usr/share/jython2.5.2/Lib/site-packages/springpython-1.3.0.RC1-py2.5.egg/springpython/container/__init__.py", line 80, in get_object
comp = self._create_object(object_def)
File "/usr/share/jython2.5.2/Lib/site-packages/springpython-1.3.0.RC1-py2.5.egg/springpython/container/__init__.py", line 132, in _create_object
[prop.set_value(obj, self) for prop in object_def.props if hasattr(prop, "set_value")]
File "/usr/share/jython2.5.2/Lib/site-packages/springpython-1.3.0.RC1-py2.5.egg/springpython/config/_config_base.py", line 149, in set_value
setattr(obj, self.name, self.value)
TypeError: can't convert 'classpath:spring-config-test.xml' to org.springframework.core.io.Resource;
または(bean id = "props" ...の代わりに)を使用します:
<context:property-placeholder location="classpath:prop.properties" />
それは私にエラーを与えます:
Traceback (most recent call last):
File "/home/nir/.eclipse/org.eclipse.platform_3.6.1_185596441/plugins/org.python.pydev.debug_2.2.4.2011110216/pysrc/pydevd.py", line 1307, in <module>
debugger.run(setup['file'], None, None)
File "/usr/share/jython2.5.2/Lib/site-packages/springpython-1.3.0.RC1-py2.5.egg/springpython/container/__init__.py", line 128, in _create_object
obj = object_def.factory.create_object(self._get_constructors_pos(object_def),
File "/usr/share/jython2.5.2/Lib/site-packages/springpython-1.3.0.RC1-py2.5.egg/springpython/factory/__init__.py", line 31, in create_object
parts = self.module_and_class.split(".")
AttributeError: 'NoneType' object has no attribute 'split'
- JavaプロパティプレースホルダーをPythonスプリングに変換する方法は?
- アノテーション@Valueに接続するプロパティを挿入するにはどうすればよいですか?
ありがとう、