私は次のようなMongoService
クラス を持っています
public class MongoService {
private final Mongo mongo;
private final String database;
private static final Logger LOGGER = LoggerFactory.getLogger(MongoService.class);
public MongoService(@Nonnull final String host, final int port, @Nonnull final String db) throws UnknownHostException {
mongo = new Mongo(host, port);
database = db;
}
public void putDocument(@Nonnull final DBObject document) {
LOGGER.info("inserting document - " + document.toString());
mongo.getDB(database).getCollection(getCollectionName(document)).insert(document, WriteConcern.SAFE);
}
public void putDocuments(@Nonnull final List<DBObject> documents) {
for (final DBObject document : documents) {
putDocument(document);
}
}
}
の値を外部プロパティファイル/storage/local.propertiesからコンストラクターhost, port, db
に挿入したい
### === MongoDB interaction === ###
host=127.0.0.1
port=27017
database=contract
私のSpringワイヤーアップファイルは次のようになります
wireup.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
<util:properties id="mongoProperties" location="file:///storage//local.properties" />
<bean id="mongoService" class="com.business.persist.MongoService">
// TODO
</bean>
</beans>
質問
host, port, db
from local.properties
file の値を渡して、次のコンストラクターに渡すにはどうすればよいですか?
public MongoService(@Nonnull final String host, final int port, @Nonnull final String db) throws UnknownHostException {
mongo = new Mongo(host, port);
database = db;
}