我需要在啓動時使用具有構造函數參數的Spring Boot初始化以下PointQuadTree
類,並在整個應用程序中使對象可用。構造函數參數'minX,maxX,...'需要來自application.properties文件。在啓動時使用構造函數參數進行初始化的Spring引導
PointQuadTree
public class PointQuadTree<T extends PointQuadTree.Item> {
private final Bounds mBounds;
public PointQuadTree(double minX, double maxX, double minY, double maxY) {
this(new Bounds(minX, maxX, minY, maxY));
}
...
}
界
public class Bounds {
public final double minX;
public final double minY;
public final double maxX;
public final double maxY;
public final double midX;
public final double midY;
public Bounds(double minX, double maxX, double minY, double maxY) {
this.minX = minX;
this.minY = minY;
this.maxX = maxX;
this.maxY = maxY;
midX = (minX + maxX)/2;
midY = (minY + maxY)/2;
}
...
}
我已經試過註釋PointQuadTree
與@Component
,但沒有構造函數不帶參數。即使我添加一個沒有參數的構造函數Bounds
也是final
,所以在初始化PointQuadTree
後不能設置。另外Bounds
只有一個參數的構造函數。
PointQuadTree
已初始化後,我需要它坐在內存中,需要能夠在其他組件中自動裝載它以讀取/刪除/添加項目。我不知道如何用Spring Boot做到這一點。任何幫助不勝感激。
我沒有時間獲得完整答案,但使用JavaConfig構造bean和值爲「@ ConfigurationProperties」。 – chrylis 2015-01-21 06:16:56